В следующем примере SelectedValue
of TabControl
всегда null
. Зачем?WPF: SelectedValue всегда null
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib">
<DockPanel>
<TextBlock Text="{Binding SelectedValue, ElementName=Tabs}" DockPanel.Dock="Bottom"/>
<TabControl x:Name="Tabs" SelectedValuePath="Content.SelectedItem">
<TabItem Header="TabOne">
<ListView>
<ListView.View>
<GridView>
<GridViewColumn/>
</GridView>
</ListView.View>
<s:String>ItemOne</s:String>
<s:String>ItemTwo</s:String>
</ListView>
</TabItem>
<TabItem Header="TabTwo">
<ListView>
<ListView.View>
<GridView>
<GridViewColumn/>
</GridView>
</ListView.View>
<s:String>ItemOne</s:String>
<s:String>ItemTwo</s:String>
</ListView>
</TabItem>
</TabControl>
</DockPanel>
</Window>
Я уточнил свой вопрос. – CannibalSmith
Вы должны быть в состоянии использовать любой из фрагментов, которые я предоставил, чтобы получить то, что вы хотите. Поскольку SelectedValue оценивает значение null, это не так. Попробуйте выбрать одну из строк в Tab One или Two, затем измените вкладки назад и вперед. Я предполагаю, что он не обновляется из-за механизма привязки SelectedValue (например, он не переоценивает тот же путь, что и Path). – micahtan