Rah*_*n R 5 c# wpf properties mvvm
我是 WPF 和 MVVM 的初学者。我在我的项目中的一个窗口上有某些控件。例如,我的窗口中有一个文本框。我正在使用 MVVM 模式,在这里我想从视图模型中更改文本框的可见属性。另一件事是,我想根据某些条件更改视图模型中文本框的可见性。
好吧,我用谷歌搜索了它,谷歌给了我一些建议,这些建议都是不同的解决方案,我完全困惑。
猜猜有人能帮我解决这个问题。
我知道这对 WPF MVVM 专家来说是小菜一碟,但由于我正在尝试学习这些东西,因此我需要一些代码作为示例。
谢谢
由于这是 MVVM,您不想更改文本框的可见性,您实际上想要禁用某些选项。然后 - 无论该选项是启用还是禁用都应该反映在您的文本框的可见性上。
所以基本上你想要Property在 ViewModel 中,例如:
public bool CanMyPropertyBeChanged {get; set;}
Run Code Online (Sandbox Code Playgroud)
您可以更改(当然,如果还没有,您应该实现 INotifyPropertyChanged
)...
并通过转换器将文本框的可见性绑定到此属性:
<TextBox Visibility="{Binding CanMyPropertyBeChanged, Converter={StaticResource boolToVis}}" />
Run Code Online (Sandbox Code Playgroud)
您可以使用内置的BooleanToVisibilityConverter来实现此目的:
<BooleanToVisibilityConverter x:Key="boolToVis" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18801 次 |
| 最近记录: |