gpt4 book ai didi

c# - BindingOperations.GetBindingExpression 在 WPF 中返回 null

转载 作者:行者123 更新时间:2023-12-04 00:07:21 25 4
gpt4 key购买 nike

我已经调整了一个绑定(bind)的 ViewModel,我们将其称为 MyViewModel 以从 DependencyObject 继承并切换我的一个正常 CLR 属性,我们将其称为 Name,用于在 setter 中触发 NotifyPropertyChanged(),成为 DependencyProperty

Name 是到 TextBox 的双向绑定(bind),并且工作正常。

但是,调用 BindingOperations.GetBindingExpression(InstantiatedMyViewModel, MyViewModel.NameProperty) 总是返回 null。

1 - 这是因为无法将我的 ViewModel (InstantiatedMyViewModel)in 作为第一个参数(而不是文本框的实例)传递吗?我假设由于它是双向绑定(bind),所以 InstantiatedMyViewModelTextBox 都应该有一些绑定(bind)知识

2 - 如果可能的话,我是否缺少任何陷阱?

它工作得很好,但是当我尝试调用时

最佳答案

你应该使用

  var name = InstantiatedMyViewModel.GetValue(MyViewModel.NameProperty)

BindingOperations.GetBindingExpression 用于绑定(bind)到某个其他对象的控件。例如

  <TextBox x:Name="textBox1" Text="{Binding Name}" />

然后

  var bindingExpression = BindingOperations.GetBindingExpression(
textBox1, TextBox.TextProperty);

// "Name"
var path = bindingExpression.ParentBinding.Path;

关于c# - BindingOperations.GetBindingExpression 在 WPF 中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33080716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com