私はこのようなブール値にバインドされたそのSelectedIndex
性質を持っているTabControl
を持っています、True
からIsRunning
プロパティが変更された場合私のDataTriggerがTabControlのSelectedIndexプロパティを更新しないのはなぜですか?
<TabControl>
<TabControl.Style>
<Style TargetType="TabControl">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsRunning, UpdateSourceTrigger=PropertyChanged}" Value="True">
<Setter Property="SelectedIndex" Value="1" />
</DataTrigger>
</Style.Triggers>
</Style>
</TabControl.Style>
<TabItem Header="Foo" />
<TabItem Header="Bar" />
</TabControl>
はTabControl
は、2番目のタブに切り替える必要がありますが、問題は今ありますIsRunning
プロパティが変更されるとすぐに、TabControl自体が更新されずに2番目のTabItem
が表示されます。
XAMLでこれを行う方法はありますか、のSelectedIndex
に直接バインドするビューモデルにSelectedIndex
プロパティを実装する必要はありますか?
ここには機能します。 IsRunningが変更されたときに、基になるViewModel(TabControlのDataContext)がPropertyChangedイベントを発生させますか? –
興味深い...はい、確実にPropertyChangedイベントが発生します。 – Flagbug
TabControlでSelectedIndexを既定値に設定している場合は[http://msdn.microsoft.com/en-us/library/ms743230.aspx]。 –