数据绑定事件参数对象

时间:2011-12-22 17:50:53

标签: wpf events data-binding

我刚刚开始使用WPF的数据绑定,所以请原谅这个问题的基本性质。

我有一个用户控件正在接收自定义事件,其中一个事件参数是我想要绑定到此用户控件中的控件的对象。

我有一些绑定到控件(如组合框)的示例,然后将网格上的datacontext设置为组合框的选定项目,然后将控件绑定到它。我有兴趣在这个用户控件中做类似的事情,但我不知道将对象绑定到事件的那个。

欢迎任何建议。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您的事件处理程序位于UserControl的代码隐藏中,您可以编写如下内容:

DataContext = args.ObjectIWantToBindTo;

然后在你的XAML中你可以编写正常的绑定,它们将绑定到对象的属性(例如,如果对象具有属性“Foo”,你将在XAML中写入“{Binding Foo}”)。如果您不想将整个用户控件绑定到对象,而只想将XAML中的一个元素绑定,则只需设置该元素的DataContext即可。例如,如果你有:

<Grid Name="theGrid">...
你会写:

theGrid.DataContext = args.ObjectIWantToBindTo;

然后在XAML中你可以说:

<Grid Name="theGrid" Width="{Binding GridWidth}">...

你的event args对象有一个“GridWidth”属性。