这样的事情是否存在(例如存在UpdateSourceTrigger)还是有可能的?我只想在需要时更新目标。一次性绑定(bind)不起作用,因为我不希望它一次更新-我想在需要时更新它,而不是在绑定(bind)对象发生更改时更新。
所以我的问题很简单:如何在源更改时不更改目标,而在调用某些内容时更改目标?
谢谢
最佳答案
您可以做的另一件事是使用附加行为,该行为会挂接到与绑定(bind)没有直接关系的某些事件中。下面是一些工作代码的框架,仅供您引用。
internal class ContactcControlPropertySetter : Behavior<ContentControl>
{
protected override void OnAttached() {
base.OnAttached();
if (AssociatedObject == null)
throw new InvalidOperationException("AssociatedObject must not be null");
AssociatedObject.DataContextChanged += OnDataContextChanged;
CultureManager.UICultureChanged += OnCultureChanged;
}
protected override void OnDetaching() {
AssociatedObject.DataContextChanged -= OnDataContextChanged;
CultureManager.UICultureChanged -= OnCultureChanged;
}
private void OnCultureChanged(object sender, EventArgs e) {
SetProperties();
}
private void SetProperties()
{
...
var tooltipFmt = _resourceManager.GetString(key, culture);
...
AssociatedObject.ToolTip = tooltip;
...
}