首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF datacontext父/子用户控件

WPF datacontext父/子用户控件
EN

Stack Overflow用户
提问于 2010-02-09 18:13:51
回答 1查看 3.9K关注 0票数 1

我有一个WPF应用程序,它由一个包含usercontrol的窗口组成,而usercontrol又包含另一个子usercontrol。

我在第二个用户控件的视图模型中有一个SelectedName的dependencyProperty。我希望父控件能够访问此属性并在父控件的文本块中显示SelectedName。

我有点卡住了,不知道该怎么做。

似乎有两种方法(如果我理解正确的话) 1.在子控件上添加一个事件,让事件向上冒泡,并在父控件中进行处理。2.尝试在父控件上的textblock绑定中直接访问子对象的dependency属性。

对于这两种方式中的任何一种,我被困在如何获得控件(子或父)的datacontext或viewmodel的句柄上。

这是不是表明我走错了路,或者我需要将控件的datacontext转换为有问题的视图模型类型,然后再使用它?或者我是否需要在两个用户控件之间共享相同的视图模型?

如果有任何关于这种方法的反馈,我将不胜感激--任何例子都会非常有用,因为我发现我已经有几个这种父母/孩子控制要求的实例。

再次感谢您的宝贵时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-09 18:19:35

用于父控件的视图模型可以将子控件的视图模型作为属性,这样您就可以直接从父控件访问它。

代码语言:javascript
复制
public class ParentViewModel
{
    public ChildViewModel child { get; set; }
}

然后在xaml中,假设datacontext被设置为ParentViewModel对象,我们可以很容易地从ChildViewModel访问属性...

代码语言:javascript
复制
<TextBlock Text="{Binding Path=child.SomeTextProperty}" />
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2228230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档