复选框包含默认内容值以及绑定中的内容值

时间:2012-02-16 11:31:42

标签: c# .net wpf

我在XAML中有一个复选框,我需要内容有一个默认值,比方说:“FooText”,但也可以绑定到对象中的一个字段,可以改变。  我们的想法是,在加载时,复选框应该显示默认内容,但是当加载对象时,内容应该相应地改变。

这可能,如果可行,怎么样?我有一些想法,我可能在模板中可行,但由于我是WPF的新手,我不知道如何达到所需的结果。

我正在使用MVVM模式。

希望有人可能有个好主意:-D

3 个答案:

答案 0 :(得分:3)

您可以使用默认对象,将所有属性设置为所需的默认值,然后将其用作DataContext。

另一件事是Bindings上的TargetNullValue。使用它可以设置默认值以显示绑定的目标值是否为空。

答案 1 :(得分:1)

这实际上取决于“默认值”的含义。 WPF数据绑定允许使用几种方法来处理“默认值”:

  • FallbackValue:如果数据绑定本身存在问题,您可以指定一个值。例如,如果要绑定到viewmodel(DataContext)上不存在的属性。

  • TargetNullValue:如果绑定值为null,则允许您指定值,这对于字符串值非常有用。

如果您想要考虑错误的绑定空值,您可以同时使用它们,这取决于您。无论哪种方式,您都应经常使用FallbackValue。

答案 2 :(得分:0)

在viewmodel

中创建checkboxContent属性

将默认值设置为其私有变量_checkboxContent =“FooText”;

将此属性绑定到复选框内容

加载对象时,将object属性分配给checkboxContent属性