如何在WPF中动态创建DataContext中的类?

时间:2017-09-27 21:09:56

标签: c# wpf

是否可以动态地将视图的绑定属性获取到类中并在运行时对其进行操作。 例如,如果DataContext的类型User具有10个属性,但绑定属性仅为4,那么我可以创建仅具有这4个属性的类吗?

1 个答案:

答案 0 :(得分:0)

可行,但很难。

  1. 您必须解析可视树,并使用VisualTreeHelper访问每个控件(请参阅:https://stackoverflow.com/a/874426/275330)。
  2. 对于每个控件,您都可以获得其依赖项属性的列表(请参阅https://stackoverflow.com/a/26367132/275330
  3. 然后,对于每个单独的依赖项属性,您可以检查其值是否在本地设置(请参阅:Knowing if a DependencyProperty has not been set in XAML)。如果是这样 - 你有你需要的价值。
  4. 我从未使用过1 + 2 + 3,所以我不知道你可能遇到的其他困难。