在WPF绑定中使用c#表达式

Using C# expressions in WPF binding

本文关键字:表达式 WPF 绑定      更新时间:2023-09-26

考虑我的ViewModel具有IsBusy属性。在WPF中有可能有这样的绑定吗?

<ProgressBar Visiblity="{Binding IsBusy}" ... />
<Button Visiblity="{Binding !IsBusy}" .../>

注意,我已经将Button的可见性绑定到!IsBusy(不忙)。

我曾经在JavaScript MVVM框架上有这个,比如knockout

表达式可以更复杂,如:

<Button Text="IsBusy && !HasError ? true : false"/>

在WPF中,您需要绑定到一个属性,因此您不能按自己的意愿执行!Busy。如果你想要一些复杂的条件,你应该为它创建一个特定的属性。如果你想让你的输出以特定的方式格式化,你可以实现自定义值转换器(即实现接口IValueConverter)。