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

时间:2014-05-29 14:50:11

标签: c# wpf

我的员工有员工名单,因此我需要应用在组合框中连续重复的模板。

<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>

可以使用heirarchial数据模板吗?如果不是,我怎么能实现这一点。

1 个答案:

答案 0 :(得分:0)

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

  1. A HierarchicalDataTemplate。你必须弄清楚对象模型是否支持这一点。顺便说一下,据我所知,ComboBox不支持HierarchicalDataTemplate,因此您必须将TreeView作为选择控件。
  2. 在更高级别创建DataTemplate资源,可能在Control级别,并重复使用相同的DataTemplate