【问题标题】:WPF OneWayToSource binding initial valueWPF OneWayToSource 绑定初始值
【发布时间】:2014-08-27 13:07:34
【问题描述】:

我有一个RadioButton 元素,它的IsChecked 属性绑定到ViewModel 中的MyPropertyBinding 有模式 OneWayToSource 出于某种原因,它将值从 RadioButton.IsChecked 推送到 ViewModel.MyProperty

RadioButton.IsChecked 最初是 false,现在。我想从ViewModel 设置一个初始值,甚至可能是true。我不能这样做,因为该属性已被绑定占用。

有没有办法在该模式下使用Binding 并将默认值设置为 UI 中的绑定属性?类似的东西:

<RadioButton IsChecked="{Binding MyProperty, Mode=OneWayToSource, DefaultVaule=???}">
</RadioButton>

【问题讨论】:

  • 所以您的意思是要将值从控件的属性推送到视图模型并且您无法设置该值,因为该属性已被绑定占用并且没有其他选项可用捆绑?如果是,那么可能将绑定中的 FallbackValue 和视图模型属性的默认值默认为相同的值可能会帮助您实现相同的目标。默认情况下,booleanIsChecked 的默认值为 false,因此您可能不需要任何更改,除非您希望默认为 true。
  • 在第一句话中,您准确地描述了我的意思。我想将IsChecked 设置为True - 这就是问题所在。
  • @pushpraj 从概念上讲,FallbackValue 不太适合我的情况,但它正在工作

标签: wpf binding default-value oneway


【解决方案1】:

如果我的理解正确,我认为这可能会有所帮助:

您可以通过TargetNullValue 属性定义默认值。您可以定义一个FallbackValue 值以防出错,例如:

<TextBox Text="{Binding MyProperty, TargetNullValue=0, FallbackValue=10}" />

请看这里: enter link description here

【讨论】:

  • 不,这行不通,我已经看过那个帖子了。当目标的属性等于Null 时使用TargetNullValue。但我有Boolean 属性。
猜你喜欢
  • 2011-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-26
  • 2013-05-31
  • 2011-07-06
  • 2011-04-04
  • 1970-01-01
相关资源
最近更新 更多