Infragistics - XamDocManager - 在未固定状态下限制ContentPanes宽度

时间:2016-06-29 14:17:42

标签: wpf xaml infragistics

我正在将XamDocManager用于我的一个WPF应用程序。 XamDocManager在TabGroupPane中有两个ContentPanes,如下面的XAML所示。

<igDock:XamDockManager Name="MyXamDM">
<igDock:XamDockManager.Panes>                
    <igDock:SplitPane Name="Sp1" SplitterOrientation="Horizontal" HorizontalAlignment="Left"
              igDock:XamDockManager.InitialLocation="DockedLeft" MaxWidth="100">
        <igDock:TabGroupPane MaxWidth="100">
            <igDock:ContentPane Header="Top" Content="Top" 
                     Name="Cp1"/>
            <igDock:ContentPane Header="Bottom" Content="Bottom" 
                    Name="Cp2" />
        </igDock:TabGroupPane>
    </igDock:SplitPane>
</igDock:XamDockManager.Panes>

我在TabGroupPane和SplitPane中将MaxWidth属性设置为100。

在运行期间,我检查了两种情况:

场景1:固定内容窗格并增加其宽度超过100px

场景2:取消固定内容窗格并将其宽度增加到100px以上

场景1工作正常,但场景2失败。当取消固定内容窗格时,我能够将窗格宽度增加到100px以上。取消固定内容窗格时,MaxWidth属性不会生效。

无论内容窗格是固定还是取消固定,我都需要将其宽度限制为100px。

1 个答案:

答案 0 :(得分:0)

我可以通过设置UnpinnedTabFlyout的MaxWidth属性来控制未固定内容窗格的宽度。

   <igDock:XamDockManager.Resources>
            <Style TargetType="{x:Type igDock:UnpinnedTabFlyout}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Side}" Value="Left">
                        <Setter Property="MaxWidth" Value="100"/>                            
                    </DataTrigger>                        
                </Style.Triggers>
            </Style>            
    </igDock:XamDockManager.Resources>

UnpinnedTabFlyout的详细信息可用here