我在XAML中有一个复选框,我需要内容有一个默认值,比方说:“FooText”,但也可以绑定到对象中的一个字段,可以改变。 我们的想法是,在加载时,复选框应该显示默认内容,但是当加载对象时,内容应该相应地改变。
这可能,如果可行,怎么样?我有一些想法,我可能在模板中可行,但由于我是WPF的新手,我不知道如何达到所需的结果。
我正在使用MVVM模式。
希望有人可能有个好主意:-D
答案 0 :(得分:3)
您可以使用默认对象,将所有属性设置为所需的默认值,然后将其用作DataContext。
另一件事是Bindings上的TargetNullValue。使用它可以设置默认值以显示绑定的目标值是否为空。
答案 1 :(得分:1)
这实际上取决于“默认值”的含义。 WPF数据绑定允许使用几种方法来处理“默认值”:
FallbackValue
:如果数据绑定本身存在问题,您可以指定一个值。例如,如果要绑定到viewmodel(DataContext)上不存在的属性。
TargetNullValue
:如果绑定值为null,则允许您指定值,这对于字符串值非常有用。
如果您想要考虑错误的绑定和空值,您可以同时使用它们,这取决于您。无论哪种方式,您都应经常使用FallbackValue。
答案 2 :(得分:0)
在viewmodel
中创建checkboxContent属性将默认值设置为其私有变量_checkboxContent =“FooText”;
将此属性绑定到复选框内容
加载对象时,将object属性分配给checkboxContent属性