【发布时间】:2013-06-09 17:04:17
【问题描述】:
我对 MVVM 很陌生,我一直在构建我的 ViewModel。我有一个包含ICommand 的 ViewModel,然后通过命令按钮将其绑定到我的视图中。 ICommand 导致在我的 ViewModel 上调用一个过程,然后调用一个更大的慢速过程。在此过程发生时,我想让控件/UIElement 的可见性变为可见,然后在过程完成后隐藏(我打算绑定标签并不确定进度条的可见性)
例如,在我的视图模型中,我有
public void calledFromCommandButton() {
RaisePropertyChange("Starting");
superLongProcedure();
RaisePropertyChange("Finished");
}
这只是感觉有点傻,不得不提出 2 个不同的属性更改,因此,我认为我做错了。我想我可以通过一个属性更改和一个转换器来做到这一点?
那么,将 UIElement 可见性绑定到属性更改事件的正确和正确方法是什么?
谢谢 托马斯
【问题讨论】:
-
“Starting”和“Finished”属性有什么用?有一个 bool 属性 IsBusy 然后你可以使用 Visibility="{Binding Path=IsBusy, Converter={StaticResource bool2VisibilityConverter}}"
标签: c# wpf mvvm binding viewmodel