WPF RelativeSource

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>

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2023-12-27 07:14:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-27 07:14:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-27 07:14:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-27 07:14:01       20 阅读

热门阅读

  1. 10分钟了解nextTick,并实现简易版本的nextTick

    2023-12-27 07:14:01       33 阅读
  2. 【Python】FastAPI学习记录(二)

    2023-12-27 07:14:01       44 阅读
  3. 14.bash shell中的for/while/until循环

    2023-12-27 07:14:01       43 阅读
  4. zookeeper 面试

    2023-12-27 07:14:01       32 阅读
  5. node express简单微服务

    2023-12-27 07:14:01       36 阅读
  6. Nginx Unit 1.27.0 发布

    2023-12-27 07:14:01       41 阅读
  7. SimLM: Can Language Models Infer Parameters of Physical Systems?

    2023-12-27 07:14:01       32 阅读
  8. Go语言Web框架Gin常见用法

    2023-12-27 07:14:01       35 阅读
  9. gin实现登录逻辑,包含cookie,session

    2023-12-27 07:14:01       31 阅读