下面的代码有效,但我很好奇为什么我需要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等).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。