DataTemplateSelector问题
在我的Silverlight项目中,我需要使用
DataTemplateSelector
。
我找到了一种方法来实现这一点(因为它不在框架中):http://www.codeproject.com/KB/silverlight/SLTemplateSelector.aspx
这个方法在我的代码的其他地方已经正常工作,但这次它不起作用。
问题是从不调用TemplateSelector(我甚至试图在构造函数中放置一个断点,但它从未被命中)。你能在我的代码中看到问题吗?我使用了调试转换器,可以看到我的ListBox
的ItemsSource
设置正确。
提前致谢 !
XAML:
<ListBox Name="DestinationsList" Grid.Column="2" ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<helper:TargetTemplateSelector Content="{Binding}">
<helper:TargetTemplateSelector.FirstTemplate>
<DataTemplate>
<TextBlock Text="Test1" />
</DataTemplate>
</helper:TargetTemplateSelector.FirstTemplate>
<helper:TargetTemplateSelector.SecondTemplate>
<DataTemplate>
<TextBlock Text="Test2" />
</DataTemplate>
</helper:TargetTemplateSelector.SecondTemplate>
</helper:TargetTemplateSelector>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
TemplateSelector类:
public class TargetTemplateSelector : DataTemplateSelector
{
public DataTemplate FirstTemplate { get; set; }
public DataTemplate SecondTemplate { get; set; }
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
MyClass1 target = item as MyClass1;
if (target != null)
{
if (target.Profile is MyClass2)
{
return this.FirstTemplate;
}
else if (target.Profile is MyClass3)
{
return this.SecondTemplate;
}
else
{
throw new NotImplementedException();
}
}
return base.SelectTemplate(item, container);
}
}
没有找到相关结果
已邀请:
1 个回复
鞘垒飘