[英]DataContext is null for TabItem DataTemplate
我有一个Tabcontrol
<TabControl TabStripPlacement="Left"
Grid.Row="1"
x:Name="TabControl"
ItemsSource="{Binding SomeProperty}"
ContentTemplateSelector="{StaticResource SomeDataSelector}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</TabControl.ItemTemplate>
</TabControl>
我在哪里打电话给DataTemplateSelector
<UserControl.Resources>
<DataTemplate x:Key="DefaultTemplate" >
<TextBlock Text="Default" FontSize="72"></TextBlock>
</DataTemplate>
<DataTemplate x:Key="FirstViewDataTemplate">
<local:FirstView HorizontalAlignment="Left"/>
</DataTemplate>
<DataTemplate x:Key="SecondViewDataTemplate">
<local:SecondView HorizontalAlignment="Left" DataContext="{Binding}"/>
</DataTemplate>
<local:SomeDataSelector x:Key="SomeDataSelector"
FirstViewDataTemplate="{StaticResource FirstViewDataTemplate}"
SecondViewDataTemplate="{StaticResource SecondViewDataTemplate}"/>
</UserControl.Resources>
但是SecondView的DataContext为null
我也尝试了元素绑定,但没有帮助
我想念什么?
我无法重现该问题。 我用您的示例代码和缺少的选择器创建了一个应用程序,它可以正常工作。 什么时候看到DataContext为null? 如果它在构造函数中,则可以预期是因为尚未发生绑定。
如果希望在数据上下文ID可用时收到通知,则可以处理DataContextChanged
事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.