2012-07-02 37 views
1

我有ItemsControl多个DataTemplate并使用ItemTemplateSelector来选择合适的DataTemplate的每个项目ItemsSource。我想将ItemTemplateSelector绑定到item的TemplateType依赖项属性。每次TemplateType改变性质,DataTemplate变化automaticaly。我能怎么做。自动刷新项目模板选择器

回答

4

我搜一下自己的问题。并找到以下代码刷新ItemTemplateSelector

DataTemplateSelector DataTemplateSelector = plan.ItemTemplateSelector; 
plan.ItemTemplateSelector = null; 
plan.ItemTemplateSelector = DataTemplateSelector; 
2

我会去你的情况不同的解决方案,如果你想更新的DataTemplate。 我将创建一个绑定到您的ItemsControl的ItemTemplate中。该绑定获取了一个转换器,其中包含您当前ItemTemplateSelector的逻辑。绑定的来源是您的TemplateType属性。

的ItemTemplateSelector仅仅是一次性的评价。

+0

ItemTemplate是ItemsControl的一个属性,我不能绑定Item给它。 –

+0

你是什么意思,你不能绑定它?

+0

当我使用ItemTemplate =“{Binding Converter = {StaticResource myconv}} “',在转换器功能中获得空值。我期望让我的物品在转换器功能。 –