为什么在绑定模式中没有'OneTimeToSource'选项?
问题描述:
之一,当您使用WPF工作,你了解到的第一件事是BindingMode
枚举:为什么在绑定模式中没有'OneTimeToSource'选项?
-
OneWay
:更新绑定目标(目标)属性绑定源(源)的变化时。 -
OneWayToSource
:当目标属性更改时更新源属性。 -
TwoWay
:导致对源属性或目标属性的更改自动更新另一个。 -
OneTime
:应用程序启动时或数据上下文更改时更新绑定目标。
我想知道为什么没有OneTimeToSource
模式。例如:
-
OneTimeToSource
:当目标更改时更新绑定源。
我以为这种模式不适用于某些特定的原因(如不打破特定模式),但同时我也发现这种模式非常有用,如建立源的属性从目标(如配置,例如)在耦合的时刻。
至少,我认为这是一种保持弱耦合两种结构并允许源根据目标特性适应目标的方法。
那么,为什么在绑定模式下没有'OneTimeToSource'选项?
答
我想知道为什么没有OneTimeToSource模式。类似于: OneTimeToSource:在目标更改时更新绑定源。
的existig OneWayToSource的作品正是这样,即它更新每次目标属性设置为新价值的源泉财产。
使用一周时间 ToSource模式就没有太大的意义,因为这将只需设置源属性目标属性的默认值,一旦当视图加载首次。
然后,首先设置绑定并不重要。例如,此模式将视图模型中绑定到视图中的TextBox的字符串源属性设置为空字符串或空引用,该引用已经是字符串的默认值。
你应该问问WPF设计师。海事组织,它只是没有必要或以任何方式有用。至少,似乎没有人会错过它。 – Clemens