使用ItemTemplateSelector在不同的网格中拆分DataTemplate

时间:2012-10-18 10:10:46

标签: wpf xaml itemscontrol

我正在研究WPF-XAML。我的要求是: 我需要在Tab中添加Trunks集合(由Border和amp; TexBlocks组成)。 将有两种类型的此类中继(例如 RSPTrunkTemplate ASPTrunkTemplate )。现在我需要在一个网格中添加 RSPTrunkTemplate 类型的中继集合。然后会有GridSplitter然后我需要在另一个网格中添加另一个 ASPTrunkTemplate 类型的中继集合。

我正在使用ItemTemplateSelector,如下所示:

<Grid>
                <ItemsControl Name="TrunkList"
                              ItemsSource="{Binding RSPTrunks}"
                              ItemTemplateSelector="{StaticResource TrunkItemTemplateSelector}">
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <WrapPanel Orientation="Vertical" />
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>
                </ItemsControl>
            </Grid>

这个TrunkItemTemplateSelector如下:

<Helpers:TrunkItemTemplateSelector x:Key="TrunkItemTemplateSelector"
                                           RSPTrunkTemplate="{StaticResource RSPTrunkTemplate}"
                                           SPTrunkTemplate="{StaticResource ASPTrunkTemplate}" />

现在, RSPTrunkTemplate 应位于一个网格中, ASPTrunkTemplate 应位于另一个网格中。 这该怎么做。我是否必须改变方法? 我寻求你的帮助。

1 个答案:

答案 0 :(得分:1)

ItemTemplateSelector,顾名思义,用于为ItemsControl中的对象指定不同的模板,而不是进行过滤。如果我理解正确您想要应用分组,也许这个链接可以帮助您http://msdn.microsoft.com/en-us/library/ms742542.aspx