如何在项目模板内应用相同的项目模板

本文关键字:项目 应用 | 更新日期: 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>

可以用分层数据模板吗?

如何在项目模板内应用相同的项目模板

根据对象模型的水平,我可以想到两种解决方案:

  1. a HierarchicalDataTemplate。你必须弄清楚对象模型是否支持这个。顺便说一下,据我所知ComboBox不支持HierarchicalDataTemplate,所以你必须把TreeView作为选择控件。
  2. 在更高的级别上创建DataTemplate资源,可能是在Control级别,并重用相同的DataTemplate
相关文章: