在XAML中的一个窗口中管理大量重叠控件

时间:2011-09-19 10:58:12

标签: wpf xaml layout

我正在开发一个WPF应用程序,客户端可以从下拉列表(ComboBox)中选择一个设备,然后在DataGrid控件中显示它们的规范。我为20种不同的产品制作了大约20种不同的DataGrids,并且我在Window.xaml标记的预定义Grid.Row中保持它们彼此重叠(在另一个之上),每个DataGrid的可见性{{ 1}}设置为隐藏,这样当更改ComboBox选择时,我将属于从ComboBox中选择的特定产品的DataGrid的可见性更改为我后面代码中的MonitorDataGrid.Visibility = Visibility.Visible;

它完成了这项工作,但管理Window的布局变得非常艰巨和灾难,特别是当我想要改变DataGrids的样式或位置时。我想知道在一个占用同一区域的窗口中管理大量控件标记的最佳方法是什么?

提前致谢。

1 个答案:

答案 0 :(得分:2)

首先,Grid具有AutoGenerateColumns属性,该属性会自动从列表中提取列,

但是如果你不想在实体中有一些额外的属性,你可以在resourcedictionary中创建模板,只保留DropDown项目中的键,并在itemchange上更改网格模板

显示和隐藏网格确实是最糟糕的方法

同样this应该有助于做你想做的事情

希望这有帮助