在WPF XAML中传递对象

本文关键字:对象 WPF XAML | 更新日期: 2023-09-27 18:15:53

我是GUI编程新手,我想知道是否有人能告诉我是否有一种方法可以将xaml中的对象传递给另一个FrameworkElement的构造函数。

现在,我正在使用代码隐藏发送一个对象,该对象不是从XAML中允许的任何类型派生的。但是,如果我要让传递的类也派生自frameworkElement,是否有可能将其作为对象传递给构造函数,或者可能为其设置一个字段?

例如

或者属性只能是普通值类型,并且没有办法使用默认构造函数之外的构造函数吗?

正如我所说的,我目前只是将东西传递给c#文件中的构造函数,但我觉得如果可以通过xaml传递的话会更方便。

在WPF XAML中传递对象

你做错了。

除非你在写一个真正的"用户控件",否则你的视图代码或视图构造函数后面应该有很少的逻辑。相反,几乎所有的逻辑都应该在视图模型或通过数据绑定进入视图的模型类型中。

这当然不是100%可能的,在这种情况下,你正在寻找的"字段"被称为DataContext。您可以将其设置为一个对象,然后订阅DataContextChanged事件,并在那里执行您需要的任何特定于视图的逻辑。