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