0

我通过 C# 和 WPF 使用 Dockpanel 来显示 2 个用户控件 Left UserControl 是一个带有过滤器的 Datagrid(称为过滤器) Right UserControl 是一个自定义表单,它将根据用户正在查看的数据类型而改变。

我正在通过此代码设置 Dockpanel

private void SetMasterDock(UIElement MyFilter, UIElement NewViewer)
        {
            MasterDock.Children.Clear();
            DockPanel.SetDock(MyFilter, Dock.Left);
            DockPanel.SetDock(NewViewer, Dock.Right);
            MasterDock.Children.Add(MyFilter);
            MasterDock.Children.Add(NewViewer);
        }

以上所有内容均按编码工作。

现在我正在寻找的改变(如果可能的话)

我想知道什么/如何使用户能够调整两个用户控件的缩放。因此,如果他们希望看到或多或少的一侧或另一侧,他们只需单击并滑动分隔栏,以便他们可以根据个人喜好调整视图。

ETA:新代码

    MasterDock.Children.Clear();
    Grid SplittableGrid = new Grid();
    GridSplitter MovableDevider = new GridSplitter(); MovableDevider.Background = Brushes.Blue; MovableDevider.HorizontalAlignment = HorizontalAlignment.Right; MovableDevider.VerticalAlignment = VerticalAlignment.Stretch; MovableDevider.Width = 5;
    ColumnDefinition LeftDefinition = new ColumnDefinition(); LeftDefinition.Width = new GridLength(200);
    ColumnDefinition RightDefinition = new ColumnDefinition(); RightDefinition.Width = new GridLength(1,GridUnitType.Star);
    SplittableGrid.ColumnDefinitions.Add(LeftDefinition);
    SplittableGrid.ColumnDefinitions.Add(RightDefinition);
    Grid.SetColumn(MyFilter, 0);
    Grid.SetColumn(MovableDevider, 0);
    Grid.SetColumn(NewViewer, 1);
    SplittableGrid.Children.Add(MyFilter);
    SplittableGrid.Children.Add(MovableDevider);
    SplittableGrid.Children.Add(NewViewer);


    DockPanel.SetDock(SplittableGrid, Dock.Left);
    MasterDock.Children.Add(SplittableGrid);
4

1 回答 1

1

在 winforms 中,您要查找的控件是 splitcontainer。但是在 WPF 中,这是使用 grid + gridSplitter 完成的。这两个控件都在默认工具箱中。

于 2012-10-09T01:42:59.607 回答