2

我在 LayoutGroup 中有一些 LayoutPanel。我需要处理 pin/unpin 事件,以便我可以在 UI 中的某处选中/取消选中复选框控件。我尝试了类似的东西:

 <dxd:LayoutPanel x:Name="OverviewPanel"
                             ItemWidth="200"
                             Caption="{Binding Source={StaticResource MainWindowResources}, Path=Resource.Overview}"
                             ShowCloseButton="False"
                             dxd:DockLayoutManager.DockItemCollapsed="OverviewPanel_DockItemCollapsed"
                             AllowDrag="False"
                             AllowFloat="False"
                             AllowContextMenu="False"
                             Padding="1"
                             dxd:AutoHideGroup.AutoHideType="Left"
                             >
                    <TextBox BorderThickness="0" />
                </dxd:LayoutPanel>

在后面的代码中:

  private void OverviewPanel_DockItemCollapsed(object sender, DevExpress.Xpf.Docking.Base.DockItemCollapsedEventArgs e)
    {
        cOverview.IsChecked = false;
    }

这没有用。

LayoutGroup 的父级是另一个 LayoutGroup,它们都在 DockLayoutManager 中。

4

1 回答 1

3

使用DockLayoutManager.DockOperationCompleted事件:

XAML 标记:

<dxd:DockLayoutManager 
    DockOperationCompleted="DockLayoutManager_DockOperationCompleted"
    >
    ...
</dxd:DockLayoutManager>

代码隐藏:

void DockLayoutManager_DockOperationCompleted(object sender, DockOperationCompletedEventArgs e) {
    switch(e.DockOperation) {
        case DevExpress.Xpf.Docking.DockOperation.Hide:
            // dock panel hidden to auto-hide tray(pinned)
            break;
        case DevExpress.Xpf.Docking.DockOperation.Dock:
            // dock panel docked to layout (e.g. unpinned from auto-hide tray)
            break;
    }
}

相关帮助文章:自动隐藏组

于 2013-06-20T13:06:42.077 回答