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

旅游推荐网站怎么做企业网站有哪些类型

旅游推荐网站怎么做,企业网站有哪些类型,武汉平价网站建设,运城做网站目录 前言一、DataGrid基础功能1.DataGrid基础属性2.DataGridTextColumn属性3.DataGridTemplateColumn属性4.表DataGrid点击单元格或行时弹出两个按钮 二、其他功能1.表行DataGrid出现斑马纹效果2.表行DataGrid字体、行背景标红 前言 最近所实现的功能里,表DataGri…

目录

  • 前言
  • 一、DataGrid基础功能
    • 1.DataGrid基础属性
    • 2.DataGridTextColumn属性
    • 3.DataGridTemplateColumn属性
    • 4.表DataGrid点击单元格或行时弹出两个按钮
  • 二、其他功能
    • 1.表行DataGrid出现斑马纹效果
    • 2.表行DataGrid字体、行背景标红


前言

最近所实现的功能里,表DataGrid是一个很常用的控件,这篇文章是对DataGrid功能的总览,方便查看


一、DataGrid基础功能

1.DataGrid基础属性

DataGrid 使用了 HandyControl库 ,代码如下:

<DataGridx:Name="Result_DataGrid"d:ItemsSource="{d:SampleData ItemCount=7}"RowHeaderWidth="60"AutoGenerateColumns="False"CanUserAddRows="False"HeadersVisibility="All"hc:DataGridAttach.CanUnselectAllWithBlankArea="True"hc:DataGridAttach.ShowRowNumber="True"VirtualizingStackPanel.IsVirtualizing="True"VirtualizingStackPanel.VirtualizationMode="Recycling"ItemsSource="{Binding TestList}"AlternationCount="2"RowStyle="{DynamicResource DataGridRowStyle}"SelectedItem="{Binding SelTestItem}">
</DataGrid>

代码解析:
1)通用基础属性:

  • d:ItemsSource=“{d:SampleData ItemCount = 7}” :设计时数据(只在 Visual Studio 设计器中显示),显示7条示例数据。
  • RowHeaderWidth=“60”:设置行标题宽度为60
  • AutoGenerateColumns=“False”:不自动生成列,需要手动定义列
  • CanUserAddRows=“False”:禁止用户添加新行
  • HeadersVisibility=“All”:显示所有标题(行标题和列标题)

2)HandyControl扩展属性:

  • hc:DataGridAttach.CanUnselectAllWithBlankArea=“True”:点击空白区域可以取消所有选中项
  • hc:DataGridAttach.ShowRowNumber=“True”:显示行号

3)性能优化

  • VirtualizingStackPanel.IsVirtualizing=“True”:启用虚拟化,提高大数据量时的性能
  • VirtualizingStackPanel.VirtualizationMode=“Recycling”:使用回收虚拟化模式

4)数据绑定

  • ItemsSource=“{Binding TestList}”:绑定到 ViewModel 的 TestList 属性作为数据源
  • SelectedItem=“{Binding SelTestItem}”:将选中的项绑定到 ViewModel 的 SelTestItem 属性(选中行)

2.DataGridTextColumn属性

代码如下(示例):

<DataGridx:Name="Result_DataGrid"d:ItemsSource="{d:SampleData ItemCount=7}"RowHeaderWidth="60"ItemsSource="{Binding TestList}"SelectedItem="{Binding SelTestItem}"><DataGrid.Columns><DataGridTextColumnWidth="auto"Binding="{Binding TestName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"ClipboardContentBinding="{x:Null}"Header="测试名称" /></DataGrid.Columns>
</DataGrid>

DataGridTextColumn 代码解析:

  • Width=“auto” :设置列宽(auto: 自适应宽度 ,NaN: 自动拉伸,100: 设置宽度实际值 )
  • Binding=“{Binding TestName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}”
    • Binding TestName :绑定数据对象的TestName属性
    • UpdateSourceTrigger=PropertyChanged :实时更新
    • Mode = TwoWay :双向绑定
  • Header=“测试名称” :设置列标题
  • ClipboardContentBinding=“{x:Null}” :禁用该列的剪贴板复制功能

3.DataGridTemplateColumn属性

代码如下:

<DataGridx:Name="Result_DataGrid"d:ItemsSource="{d:SampleData ItemCount=7}"RowHeaderWidth="60"ItemsSource="{Binding TestList}"><DataGrid.Columns><DataGridTemplateColumn CanUserResize="False" Header="测试项目"><DataGridTemplateColumn.CellTemplate><DataTemplate><StackPanel Orientation="Horizontal"><TextBlock Margin="0 0 30 0" Text="{Binding TestProject1, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/><TextBlock Text="{Binding TestProject2, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"></StackPanel></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns>
</DataGrid>

DataGridTemplateColumn 代码解析:

  • CanUserResize=“False” :禁止用户手动调整该列的宽度
  • Header=“测试项目” :设置列标题为"测试项目"
  • CellTemplate(单元格模板):DataTemplate:定义单元格的视觉结构 ,可通过StackPanel 实现输出多个控件

4.表DataGrid点击单元格或行时弹出两个按钮

使用ContextMenu(右侧菜单),代码如下:

<DataGrid>
<DataGrid.ContextMenu><ContextMenu><MenuItemCommand="{Binding Test1Command}"CommandParameter="{Binding ElementName=Result_DataGrid}"Header="测试1" /><MenuItemCommand="{Binding Test2Command}"CommandParameter="{Binding ElementName=Result_DataGrid}"Header="测试2" /></ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>

二、其他功能

1.表行DataGrid出现斑马纹效果

1)在Resources中编写样式Style,代码如下:

<Window.Resources><Style x:Key="DataGridRowStyle" TargetType="DataGridRow"><Style.Triggers><!--交替行颜色(斑马纹效果)AlternationIndex(交替索引) 为 0 时,背景为白色;AlternationIndex(交替索引) 为 1 时,背景为浅蓝色;--><Trigger Property="AlternationIndex" Value="0"><Setter Property="Background" Value="#FFFFFF" /><!--白色--></Trigger><Trigger Property="AlternationIndex" Value="1"><Setter Property="Background" Value="LightBlue" /><!--浅蓝色--></Trigger><!--  IsMouseOver:鼠标悬停效果  --><Trigger Property="IsMouseOver" Value="True"><Setter Property="Background" Value="LightGray" /><!--浅灰色--></Trigger><!-- IsSelected:选中行效果 --><Trigger Property="IsSelected" Value="True"><Setter Property="Background" Value="#FF3393DF" /><!--蓝色--></Trigger></Style.Triggers></Style>
</Window.Resources>

2)在相应的DataGrid使用该样式,代码如下:

<DataGridx:Name="Result_DataGrid"ItemsSource="{Binding TestList}"AlternationCount="2"RowStyle="{DynamicResource DataGridRowStyle}"SelectedItem="{Binding SelTestItem}">
</DataGrid>

代码解析:

  • AlternationCount=“2” :设置交替行模式的循环周期(2:表示两种背景样式交替出现)
  • RowStyle=“{DynamicResource DataGridRowStyle}”:将行样式设置为DataGridRowStyle

2.表行DataGrid字体、行背景标红

可通过触发器实现,将触发器写成Style样式,通过调用实现效果,具体分为单条件、多条件触发两种。
1)单条件触发器,代码如下(示例):

<!--触发器:Results 为 NG 字体变红 -->
<DataTrigger Binding="{Binding TestResult}" Value="NG"><Setter Property="Foreground" Value="Red" />
</DataTrigger>

注:如想实现行背景变红,需改为<Setter Property="Background" Value="Red" />

2)多条件触发器,代码如下(示例):

<MultiDataTrigger><!--多条件触发器:同时满足MultiDataTrigger.Conditions里的条件--><MultiDataTrigger.Conditions><Condition Binding="{Binding Results}" Value="NG" /><Condition Binding="{Binding ElementName=self, Path=DataContext.isMaskRedChecked}" Value="True" /></MultiDataTrigger.Conditions><MultiDataTrigger.Setters><!--背景为红色,字体为白色--><Setter Property="Background" Value="Red" /><Setter Property="Foreground" Value="White" /></MultiDataTrigger.Setters>
</MultiDataTrigger>

http://www.dtcms.com/wzjs/391095.html

相关文章:

  • 嘉兴型网站系统总部推广渠道有哪些平台
  • 网站建设专题会议seo推广效果
  • 网站建设的什么是网站建设的第一阶段品牌广告视频
  • 网站优化连云港哪家强?seo推广软件排名
  • 顺德门户网站建设公司如何查看一个网站的访问量
  • 企业网站明细费用重庆网站推广专家
  • 企业网站设计有名 乐云seo谷歌搜索引擎大全
  • 网站 建设需求电话营销
  • 复制网站源码新冠疫情最新消息
  • 网站架构演变过程搜索引擎优化工具
  • wordpress 获取所有标签海外seo
  • 网站开发需求分析参考文献百度竞价怎么操作
  • flask做大型网站开发百度游戏风云榜
  • com域名需要备案吗宁德seo公司
  • 九龙坡区网站建设网站推广工作
  • 承德网站制作多少钱培训班有哪些课程
  • 昌江县住房和城乡建设局网站什么是竞价
  • 网站js时间代码源码网
  • 海安环评在哪个网站做百度关键词工具在哪里
  • 苏宁易购网站建设目标腾讯效果推广
  • 黄页网站怎么查百度seo发包工具
  • 个体工商户能网站备案吗怎么在百度上推广自己的公司信息
  • 网站建设很难吗seo 专业
  • 网站怎样和首页做链接地址广东新闻今日大件事
  • 怎么做网站关键词推广日本关键词热搜榜
  • 建设网站工作室的问题疑问百度推广助手app下载
  • 在阿里云做的网站怎么移动青岛seo霸屏
  • 游戏网站banner怎么做百度开店怎么收费
  • 艾乐时代 网站建设自助建站平台源码
  • 网站建设 团队介绍什么叫口碑营销