我通过C#& amp;来使用Dockpanel WPF显示2个用户控件 Left UserControl是一个带过滤器的数据网格(称为过滤器) 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);
}
以上所有内容均为编码。
现在改变我正在寻找(如果可能的话)
我想知道是什么/如何使用户能够调整两个Usercontrols的缩放比例。因此,如果他们希望看到更多或更少的一方或另一方,他们可以只点击&滑动分隔条,以便他们可以根据个人喜好调整视图。
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);
答案 0 :(得分:1)
在winforms中,您正在寻找的控件是splitcontainer。但是在WPF中,这是使用grid + gridSplitter完成的。这两个控件都在默认工具箱中。