WPF RelativeSource
2023-12-26 18:39:06
RelativeSource 类在 WPF 中提供了以下几种模式:
RelativeSource Self:指定当前元素作为相对源。可以在当前元素的属性中绑定到自身的属性。
示例:
<TextBlock Text="{Binding Text, RelativeSource={RelativeSource Self}}" />
RelativeSource TemplatedParent:指定模板的父级元素作为相对源。在自定义控件模板中使用,绑定到模板的父级元素的属性。
示例:
<ControlTemplate TargetType="local:CustomButton">
<Border Background="{Binding Background, RelativeSource={RelativeSource TemplatedParent}}">
<!-- 模板定义 -->
</Border>
</ControlTemplate>
RelativeSource FindAncestor:指定在祖先元素中进行查找。可以指定 AncestorType 来指示查找的具体类型,在找到匹配的第一个祖先后进行绑定。
示例:
<TextBlock Text="{Binding DataContext.PropertyName, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:MainWindow}}}"/>
RelativeSource PreviousData:在绑定集合数据时,绑定到前一个数据项的属性。只能在 ItemsControl 或具有类似行为的控件中使用。
示例:
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"
Foreground="{Binding PreviousData.Completed,
Converter={StaticResource StatusToColorConverter}}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
文章来源:https://blog.csdn.net/weixin_44291381/article/details/135228141
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!