当前位置: 首页 > news >正文

WPF DataGrid控件的使用 使用列模板来进行数据格式的美化

   <Grid><Grid.RowDefinitions><RowDefinition Height="0.1*" /><RowDefinition /></Grid.RowDefinitions><Button  Content="刷新"FontSize="25"Command="{Binding ExecuteRefreshCommand}" /><DataGrid ItemsSource="{Binding deviceInfos}"VerticalAlignment="Stretch"Grid.Row="1"Margin="10,20,10,0"RowDetailsVisibilityMode="Collapsed"GridLinesVisibility="None"IsReadOnly="True"AllowDrop="True"FontSize="25"Cursor="Hand"ColumnWidth="*"AutoGenerateColumns="False"CanUserReorderColumns="False"CanUserResizeColumns="False"CanUserSortColumns="False"IsSynchronizedWithCurrentItem="False"SelectionUnit="FullRow"SelectionMode="Single"SelectedIndex="{Binding deviceIndex}"Style="{StaticResource RubyerDataGrid}"Foreground="White"><DataGrid.Columns><DataGridTextColumn Header="设备名称"HeaderStyle="{StaticResource Amcz}"ElementStyle="{StaticResource contentCenterStyle}"Binding="{Binding name}" /><DataGridTextColumn Header="设备IP地址"HeaderStyle="{StaticResource Amcz}"ElementStyle="{StaticResource contentCenterStyle}"Binding="{Binding ipaddress}" /><DataGridTemplateColumn    Header="设备状态"HeaderStyle="{StaticResource Amcz}"><DataGridTemplateColumn.CellTemplate><DataTemplate><TextBlock Text="{Binding isOnLine,Converter={StaticResource bootToStringOnline}}"Foreground="{Binding isOnLine,Converter={StaticResource boolTobrushOnline} }"FontWeight="Bold"HorizontalAlignment="Center"VerticalAlignment="Center" /></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn><DataGridTemplateColumn Header="操作"HeaderStyle="{StaticResource Amcz}"><DataGridTemplateColumn.CellTemplate><DataTemplate  ><StackPanel Orientation="Horizontal"VerticalAlignment="Center"HorizontalAlignment="Center"Margin="5"><Button Height="auto"Width="auto"FontSize="20"HorizontalContentAlignment="Center"VerticalContentAlignment="Center"Margin="0,0,15,0"IsEnabled="{Binding isOnLine}"Command="{Binding DataContext.ExecuteCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}"><StackPanel  Orientation="Horizontal"VerticalAlignment="Center"HorizontalAlignment="Center"><Label HorizontalAlignment="Left"VerticalAlignment="Center"Content="{materialdesign:PackIcon Pencil, Size=25}"Margin="0,0,5,0" /><TextBlock Text="查看"HorizontalAlignment="Left"VerticalAlignment="Center" /></StackPanel></Button></StackPanel></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns><DataGrid.ColumnHeaderStyle><Style TargetType="DataGridColumnHeader"><Setter Property="Background"Value="{DynamicResource PrimaryHueMidBrush}"></Setter></Style></DataGrid.ColumnHeaderStyle><DataGrid.CellStyle><Style TargetType="DataGridCell"><Setter Property="BorderBrush"Value="{DynamicResource PrimaryHueMidBrush}"></Setter><Setter Property="Background"Value="#003366"></Setter><Setter Property="Foreground"Value="White"></Setter></Style></DataGrid.CellStyle></DataGrid></Grid>

转换器:把bool 类型转换为Brush 类型

 public class BoolToBrushOnLineConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter, CultureInfo culture){if (value != null){if (value is bool){if ((bool)value){return new SolidColorBrush(Colors.Green);}else{return new SolidColorBrush(Colors.Red);}}}return new SolidColorBrush(Colors.White);}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){throw new NotImplementedException();}}

http://www.lryc.cn/news/35124.html

相关文章:

  • elasticsearch自定义企业词典
  • 【AcWing】学了一坤时才明白的一道题
  • ES6的export和import
  • ASEMI高压MOS管20N60参数,20N60尺寸,20N60体积
  • 【备战面试】TCP的三次握手与四次挥手
  • 【模板进阶】
  • Tech Talk | 电致变色技术带来的智能AR体验
  • ACWING蓝桥杯每日一题python(持续更新
  • 【Linux】进程状态(阻塞、挂起、僵尸进程)
  • 规约第二章
  • 2019年MathorCup数学建模C题汽配件制造业中的生产排程问题解题全过程文档及程序
  • ARM uboot 的移植3 -从 uboot 官方标准uboot开始移植
  • 华为OD机试 - 快递货车(C 语言解题)【独家】
  • 连接微信群、Slack 和 GitHub:社区开放沟通的基础设施搭建
  • 数据中台架构体系理解
  • 高并发性能指标:QPS、TPS、RT、并发数、吞吐量
  • 【微信小程序】-- 案例 - 本地生活(列表页面)(三十)
  • 华为OD机试题,用 Java 解【一种字符串压缩表示的解压】问题
  • 所有科研人警惕,掠夺型期刊和劫持型期刊的区别,千万别投错了
  • 超详细CentOS7 NAT模式(有图形化界面)网络配置
  • 华为OD机试题,用 Java 解【英文输入法】问题
  • 【Redis】主从集群 实现读写分离(二)
  • 【JavaEE】前后端分离实现博客系统(页面构建)
  • MyBatis的基本使用
  • 看完书上的链表还不会实现?不进来看看?
  • 【批处理脚本】-3.2-call命令详解
  • 华为OD机试题,用 Java 解【寻找相同子串】问题
  • 思腾合力深思系列 | 四款高性能 AI 服务器
  • Vue3做出B站【bilibili】 Vue3+TypeScript+ant-design-vue【快速入门一篇文章精通系列(一)前端项目案例】
  • 2.3操作系统-进程管理:死锁、死锁的产生条件、死锁资源数计算