c# - 如何从父对象的DataContext中读取属性?

标签 c# wpf mvvm

如果我有这样的情况:

<Parent DataContext="...">
    <Child DataContext="..." />
</Parent>

子级如何访问父级DataContext上的属性?

最佳答案

这完全取决于您要如何访问该属性以及它的目标位置。您可以使用RelativeSource从XAML直接访问它:

<Parent DataContext="{...}">
    <Child DataContext="{...}"
        TargetProperty="{Binding 
            RelativeSource={RelativeSource AncestorType=Parent},
            Path=DataContext.Property}" 
     />
</Parent>

假设您已经或可以在TargetProperty上创建依赖项属性Child

或者,如果要从 subview 模型访问父 View 模型的属性,则可能需要考虑将引用,封装引用或弱引用传递给 subview 模型。

关于c# - 如何从父对象的DataContext中读取属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16950635/

相关文章:

c# - 0xC0000005 : Access violation reading location 0xffffffffffffffff

选项卡更改时的 WPF 组合框文本绑定(bind)问题

wpf - 如何将 menuitem.click 绑定(bind)到不同 View 模型中的命令

silverlight - MVVM Light工具包的性能不会受到影响吗?

c# - 以 "ddmmyy"格式对字符串数据进行排序

c# - 如何从共享点列表中获取所有文件夹和项目?

c# - 返回 HttpResponseMessage 时的 WebAPI Gzip

c# - 根据 AD 组成员身份限制对 WPF View 的访问

wpf - Microsoft.Build.BuildEngine.Engine 在构建 WPF 应用程序时抛出错误

wpf - 如何在 ListView 中为不可见(虚拟化)项目绑定(bind) IsSelected