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

Infragistics - XamDocManager - Limit ContentPanes width in unpinned state

我正在为我的一个 WPF 应用程序使用 XamDocManager。 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

场景一正常,场景二失败。当取消固定内容窗格时,我能够将窗格宽度增加超过 100 像素。取消固定内容窗格后,MaxWidth 属性 不会生效。

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

我可以通过设置 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