首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AutoHideWidth for AvalonDock

AutoHideWidth for AvalonDock
EN

Stack Overflow用户
提问于 2015-11-10 17:40:24
回答 1查看 551关注 0票数 1

我有一个AvalonDock 2LayoutAnchorablePane,如下所示,

代码语言:javascript
运行
复制
     <xcad:DockingManager
                     AnchorablesSource="{Binding AnchorableSource}" 
                     DocumentsSource="{Binding DocumentSource}" 
                     Utility:AvalonDockLayoutSerializer.LoadLayoutCommand="{Binding LoadLayoutCommand}"
                     Utility:AvalonDockLayoutSerializer.SaveLayoutCommand="{Binding SaveLayoutCommandOnExit}">
    <xcad:DockingManager.Theme>
        <xcad:MetroTheme />
    </xcad:DockingManager.Theme>
    <xcad:DockingManager.LayoutUpdateStrategy>
        <Pane:LayoutInitializer/>
    </xcad:DockingManager.LayoutUpdateStrategy>
    <xcad:DockingManager.Resources>            
        <DataTemplate DataType="{x:Type ViewModels:ExplorerViewModel}">
            <Views:ExplorerView />
        </DataTemplate>            
        <DataTemplate DataType="{x:Type ViewModels:TableOfContentViewModel}">
            <Views:TableOfContentView x:Name="TOCView" Focusable="True">
                <Views:TableOfContentView.InputBindings>
                    <KeyBinding Key="F5" Command="{Binding GridF5Command}"/>
                </Views:TableOfContentView.InputBindings>
            </Views:TableOfContentView>
        </DataTemplate>
        <DataTemplate DataType="{x:Type ViewModels:PropertyViewModel}">
            <Views:PropertyView />
        </DataTemplate>
        <DataTemplate DataType="{x:Type ViewModels:SearchViewModel}">
            <Views:SearchPanel />
        </DataTemplate>
        <DataTemplate DataType="{x:Type ViewModels:DocumentViewModel}">
            <Views:DocumentView />
        </DataTemplate>    
    </xcad:DockingManager.Resources>       
    <xcad:DockingManager.LayoutItemContainerStyleSelector>
        <Pane:PanesStyleSelector>
            <Pane:PanesStyleSelector.ToolStyle>
                <Style TargetType="{x:Type xcad:LayoutAnchorableItem}">
                    <Setter Property="Title" Value="{Binding Model.Title}"/>
                    <Setter Property="Visibility" Value="{Binding Model.IsVisible, Mode=TwoWay, Converter={StaticResource BoolToVisibilityConverter}, ConverterParameter={x:Static Visibility.Hidden}}"/>
                    <Setter Property="ContentId" Value="{Binding Model.ContentId}"/>
                    <Setter Property="FlowDirection" Value="LeftToRight"/>
                    <Setter Property="UseLayoutRounding" Value="False"/>
                </Style>
            </Pane:PanesStyleSelector.ToolStyle>
            <Pane:PanesStyleSelector.FileStyle>
                <Style TargetType="{x:Type xcad:LayoutItem}">
                    <Setter Property="Title" Value="{Binding Model.Title}"/>
                    <Setter Property="ToolTip" Value="{Binding Model.FilePath}"/>
                    <Setter Property="ContentId" Value="{Binding Model.ContentId}"/>
                    <Setter Property="CanClose" Value="False"/>
                </Style>
            </Pane:PanesStyleSelector.FileStyle>
        </Pane:PanesStyleSelector>
    </xcad:DockingManager.LayoutItemContainerStyleSelector>
    <xcad:LayoutRoot>
        <xcad:LayoutPanel Orientation="Horizontal">
            <xcad:LayoutAnchorablePane Name="Explorer" DockMinWidth="200" FloatingWidth="200"/>
            <xcad:LayoutAnchorablePane Name="TOC" DockMinWidth="630"/>
            <xcad:LayoutAnchorablePaneGroup Orientation="Vertical" DockMinWidth="300">
                <xcad:LayoutAnchorablePane Name="Property" />
                <xcad:LayoutAnchorablePane Name="Search" />
            </xcad:LayoutAnchorablePaneGroup>
            <xcad:LayoutDocumentPane>                    
            </xcad:LayoutDocumentPane>
        </xcad:LayoutPanel>            
    </xcad:LayoutRoot>
</xcad:DockingManager>

如何为我的AutoHideMinWidthAutoHideMinHeight设置LayoutAnchorable

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-22 21:35:40

不幸的是,LayoutAnchorableLayoutAnchorablePane都不是FramworkElement,所以您不能应用全局样式来设置AutoHideMinWidthAutoHideMinHeight属性,这里您唯一的选择是下载AvalonDock 2.0源代码:http://avalondock.codeplex.com/SourceControl/latest#Version2.0/

将项目添加并引用到解决方案。在Xceed.Wpf.AvalonDock项目/布局/LayoutAnderable.cs下,更新AutoHideMinWidthAutoHideMinHeight默认值,使其最适合您。

代码语言:javascript
运行
复制
    #region AutoHideMinWidth

    private double _autohideMinWidth = 100.0; //default value
    public double AutoHideMinWidth
    {
        get { return _autohideMinWidth; }
        set
        {
            if (_autohideMinWidth != value)
            {
                RaisePropertyChanging("AutoHideMinWidth");
                if (value < 0)
                    throw new ArgumentException("value");
                _autohideMinWidth = value;
                RaisePropertyChanged("AutoHideMinWidth");
            }
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33636174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档