加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

使用Window的RelativeSource进行WPF绑定需要Path中的“DataConte

发布时间:2020-12-13 22:43:09 所属栏目:Windows 来源:网络整理
导读:下面的代码有效,但我很好奇为什么我需要Path以“DataContext”作为前缀?在大多数其他情况下,使用的路径是相对于DataContext的.是因为我使用的是RelativeSource吗?因为源是根级别(Window)? Style TargetType="TextBox" Setter Property="IsReadOnly" Value
下面的代码有效,但我很好奇为什么我需要Path以“DataContext”作为前缀?在大多数其他情况下,使用的路径是相对于DataContext的.是因为我使用的是RelativeSource吗?因为源是根级别(Window)?
<Style TargetType="TextBox">
        <Setter 
           Property="IsReadOnly"
           Value="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Window}},Path=DataContext.IsReadOnly}"/>
    </Style>
您绑定到包含Window的DataContext,而不是Window本身.你是这样说的:
Value="{Binding RelativeSource={RelativeSource FindAncestor,Path=IsReadOnly}"

这将绑定到Window的IsReadOnly属性,而不是其数据上下文类.从Window doesn’t contain an IsReadOnly property开始,这显然来自不同的类(很可能是你的ViewModel,如果你使用的是MVVM等).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读