如何在项目模板内应用相同的项目模板
本文关键字:项目 应用 | 更新日期: 2023-09-27 18:05:50
我有员工谁有员工的列表,所以我需要应用模板,这将在一个组合框中不断重复。
<ComboBox.ItemTemplate>
<DataTemplate >
<Grid x:Name="grdItem"
Background="Transparent"
MouseEnter="grdItem_MouseEnter"
MouseLeave="grdItem_MouseLeave"
VerticalAlignment="Center" Visibility="Visible">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="140" />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
VerticalAlignment="Center"
Margin="1,0,0,10"
HorizontalAlignment="Left"
TextTrimming="CharacterEllipsis"
ToolTip="{Binding Name}"
Text="{Binding Name}"
/>
<Popup x:Name="brdSecondary"
Placement="Right"
IsOpen="{Binding IsShowFilters}"
Grid.Column="2"
PlacementTarget="{Binding ElementName=button}">
<Grid HorizontalAlignment="Right"
x:Name="grid1111">
<ItemsControl Background="White" x:Name="cmbSoftware1" ItemsSource="{Binding Employees}"
KeyboardNavigation.DirectionalNavigation="Contained">
<ItemsControl.ItemTemplate>
--- USE THE SAME TEMPLATE --
</ItemsControl.ItemTemplate>
</ItemsControl>
</Border>
</Grid>
</Popup>
</Grid>
</DataTemplate>
</ComboBox.ItemTemplate>
可以用分层数据模板吗?
根据对象模型的水平,我可以想到两种解决方案:
- a
HierarchicalDataTemplate
。你必须弄清楚对象模型是否支持这个。顺便说一下,据我所知ComboBox
不支持HierarchicalDataTemplate
,所以你必须把TreeView
作为选择控件。 - 在更高的级别上创建
DataTemplate
资源,可能是在Control
级别,并重用相同的DataTemplate
。