当另一个绑定发生更改时,重新查找其他绑定

时间:2015-10-28 22:12:29

标签: c# wpf mvvm mvvm-light

TL; DR:
当另一个绑定发生变化时,重新查询绑定的“正确”方法是什么?

上下文
我正在开发一个外观和行为类似于MS Access的MVVM应用程序。 (功能区+标签式界面)。

基本上,当选择某个标签(viewmodel)时,我需要显示某些上下文标签。我的视图模型中有许多属性,用于确定是否有一组上下文选项卡可见。举个例子。我希望ViewModel1的上下文选项卡显示,当ViewModel1是'selected'viewmodel时,我在视图模型中有这个属性。

// Call foo with b = 5, c = 7 and the default value for a
foo(b = 5, c = 7)

我还有一个绑定到所选视图模型的单独属性:

public bool ViewModel1Active
{
    get { return (selectedWorkspace is ViewModel1); }
    set { Set(ref viewModel1Active, value); }
}

我的理论是,当在public WorkspaceViewModel SelectedWorkspace { get { return selectedWorkspace; } set { Set(ref selectedWorkspace, value); } } 上调用set访问器时,我会重新查询上下文选项卡的所有绑定:

SelectedWorkspace

选择视图模型时,应显示正确的选项卡集

有没有更好的方法来解决这个问题?

正在使用的库:MVVMLight和FluentRibbon

0 个答案:

没有答案