【问题标题】:Databinding Event Argument Objects数据绑定事件参数对象
【发布时间】:2011-12-22 17:50:53
【问题描述】:

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

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

我有一些绑定到组合框等控件的示例,然后将网格上的数据上下文设置为组合框的选定项,然后将控件绑定到它。我有兴趣在此用户控件中做类似的事情,但我不知道将对象绑定到事件附带的对象。

欢迎提出任何建议。

谢谢。

【问题讨论】:

    标签: wpf events data-binding


    【解决方案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}">...
    

    您的事件 args 对象具有“GridWidth”属性。

    【讨论】:

    • Dana,这让我找到了正确的方向。谢谢你。您对一本关于 WPF 数据绑定的好书有什么建议吗?
    • 不确定一本书,但如果你还没有阅读过 MVVM(模型视图视图模型)我会从那里开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多