首页 > Windows开发 > 详细

WPF的DataGrid的某个列绑定数据的三种方法(Binding、Converter、DataTrigger)

时间:2019-06-28 00:00:19      阅读:145      评论:0      收藏:0      [点我收藏+]
原文:WPF的DataGrid的某个列绑定数据的三种方法(Binding、Converter、DataTrigger)

最近在使用WPF的时候,遇到某个列的值需要根据内容不同进行转换显示的需求。尝试了一下,大概有三种方式可以实现:

1、传统的Binding方法,后台构造好数据,绑定就行。

2、转换器方法(Converter),绑定后,触发转换器,转换器负责把值转换成需要的内容。

3、DataTrigger方法,直接在xaml里面对数据进行处理,展示所需要的内容。

这里主要学习了怎么使用第3种方法。写下来,防止突然想找的时候还得去翻源码。

<DataGridTemplateColumn Header="数据包是否下载" Width="140">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock>
                <TextBlock.Style>
                    <Style TargetType="TextBlock" BasedOn="{StaticResource TextBlockBaseStyle}">
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding Path= DevIsDownload}" Value="False">
                                <Setter Property="Text"  Value="否"></Setter>
                                <Setter Property="Foreground" Value="Red"></Setter>
                            </DataTrigger>
                            <DataTrigger Binding="{Binding Path= DevIsDownload}" Value="True">
                                <Setter Property="Text"  Value="是"></Setter>
                                <Setter Property="Foreground" Value="Green"></Setter>
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </TextBlock.Style>
            </TextBlock>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

根据绑定的DevIsDownload列的内容(bool类型),来触发显示效果,如果为false,则前台显示为 红色的“否”字。如果为true,则前台显示为 绿色的“是”字。

WPF的DataGrid的某个列绑定数据的三种方法(Binding、Converter、DataTrigger)

原文:https://www.cnblogs.com/lonelyxmas/p/11100212.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!