0

我有一个可以显示的窗口XamDataGrid。但是,我计划有几个 XamDataGrids 可供选择:

  1. 包网格
  2. 组件网格等

每个这样的网格都有自己的DataSourceContextMenu这个想法是在运行时选择一个网格。我想知道如何设计这个。

我可以Styles对应我的每个网格,ResourceDictionary然后在运行时将一个应用于我的窗口中的单个 XamDataGrid 吗?我对 WPF 不是很有经验......有人可以给我一些关于这个或任何其他方法的指示吗?

这是我到目前为止所拥有的:

资源字典.xaml

<Style x:Key="XamDataGridStyle" TargetType="{x:Type igDP:XamDataGrid}">
</Style>

主窗口.xaml

<igDP:XamDataGrid Name="xamDataGrid1" Style={StaticResource XamDataGridStyle} />
4

1 回答 1

0

使用带有 ContentTemplateSelector 的内容控件:

http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.contenttemplateselector(v=vs.110).aspx

ContentControl 将成为您的网格内容的占位符,并且内容将绑定到您将在运行时设置的 DataSource。您将在 ContentTemplateSelector 中实现一些特定的逻辑,以返回一个特定的 DataTemplate(在您的资源中的某处定义),它将包含基于您的内容(数据源)的特定网格控件。

通过这种方式,您可以为每种网格类型创建单独的数据模板,并使用它们自己的上下文菜单等,并通过删除内容控件以统一的方式显示它们。内容控件将使用您的 ContentTemplateSelector 逻辑根据其内容呈现适当的数据模板。

于 2014-08-22T17:09:00.367 回答