【发布时间】:2011-05-26 15:05:23
【问题描述】:
我有一个读取数据库表并将其放入树视图的应用程序。树视图的当前 ItemTemplate 如下所示:
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding SubOrganLocations}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="35" />
<ColumnDefinition Width="35" />
<ColumnDefinition Width="35" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding OrganDisplayName}" />
<TextBox Grid.Column="1" IsEnabled="True" />
<TextBox Grid.Column="2" IsEnabled="True" />
<TextBox Grid.Column="3" IsEnabled="True" />
</Grid>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
但是,将来可能需要添加更多列(由表中不同值的数量确定),因此我尝试动态创建它。我该怎么做呢?
【问题讨论】:
-
用自定义控件替换您的网格,该控件将您用于
ItemSource的任何对象用于动态创建网格。据我所知,您无法在 XAML 中以声明方式执行您要查找的内容。 -
谢谢,我不认为它可以在 XAML 中完成,这就是我有点困惑的原因。如何创建自定义控件?既然这将创建网格(而不是 XAML 代码),那么相应的 XAML 代码会是什么样子?
标签: c# wpf treeview itemtemplate