Я использую WPF TabControl и получил простой вопрос (надеюсь).
У меня есть список элементов, и для каждого элемента есть сведения, отображаемые в TabControl с 3 вкладками.
<TabControl Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="4" ItemsSource="{Binding SelectedLibrary.DetailViewModels}" IsSynchronizedWithCurrentItem="False">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.Resources>
<DataTemplate DataType="{x:Type provider:PropertyPageViewModel}">
<dxprg:PropertyGridControl
ReadOnly="True"
ShowProperties="WithPropertyDefinitions"
ExpandCategoriesWhenSelectedObjectChanged="True"
ShowCategories="Hidden"
ShowMenuButtonInRows="False"
ShowToolPanel="False"
ValueColumnWidth="2*"
ShowSearchBox="False"
SelectedObject="{Binding FunctionBaseData.Function, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
<dxprg:PropertyDefinition Path="Name" Header="{x:Static fpProperties:Resources.PropertyGridHeaderName}" />
<dxprg:PropertyDefinition Path="Id" Header="{x:Static fpProperties:Resources.PropertyGridHeaderId}" />
<dxprg:PropertyDefinition Path="Type" Header="{x:Static fpProperties:Resources.PropertyGridHeaderType}" />
<dxprg:PropertyDefinition Path="Category" Header="{x:Static fpProperties:Resources.PropertyGridHeaderCategory}" />
<dxprg:PropertyDefinition Path="Version" Header="{x:Static fpProperties:Resources.PropertyGridHeaderVersion}"/>
<dxprg:PropertyDefinition Path="LastModified" Header="{x:Static fpProperties:Resources.PropertyGridHeaderLastModified}" />
</dxprg:PropertyGridControl>
</DataTemplate>
<DataTemplate DataType="{x:Type provider:PreviewPageViewModel}">
<TextBlock Text="PreviewPage"></TextBlock>
</DataTemplate>
<DataTemplate DataType="{x:Type provider:CodePageViewModel}">
<TextBlock Text="SourcePage"></TextBlock>
</DataTemplate>
</TabControl.Resources>
</TabControl>
Это работает.
Когда пользователь выбирает другой элемент в списке, SelectedObject
моей вкладки изменяется, это нормально. Но выбранная вкладка также изменяется. Я хочу, чтобы выбранная вкладка оставалась такой же, как и для предыдущего элемента.
Я пробовал это IsSynchronizedWithCurrentItem="True"
, но это не помогло. Скажите, пожалуйста, есть ли свойство, которое я могу легко настроить для WPF TabControl.
Спасибо