WPF DataTriger 用法示例代码

用法1:

  <DataGridTemplateColumn Header="{lex:LocText ExamineRoom}">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Name="tb" Text="{Binding ExamineRoom}">

                                </TextBlock>
                                <DataTemplate.Triggers>
                                    <DataTrigger Value="False">
                                        <DataTrigger.Binding>
                                            <MultiBinding Converter="{StaticResource OnlineRoomCoverter}">
                                                <Binding Path="DataContext.OnlineRooms" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=DataGrid}" />
                                                <Binding Path="ExamineRoom" />
                                            </MultiBinding>
                                        </DataTrigger.Binding>
                                        <Setter TargetName="tb" Property="Foreground" Value="Red" />
                                        <Setter TargetName="tb" Property="ToolTip" Value="{lex:LocText RoomNotOnline}" />
                                    </DataTrigger>
                                </DataTemplate.Triggers>

                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>

用法2:

  <DataGridTemplateColumn Header="{lex:LocText ExamineRoom}">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Name="tb" Text="{Binding ExamineRoom}">
                                    <TextBlock.Style>
                                        <Style TargetType="TextBlock">
                                            <Style.Triggers>
                                                <DataTrigger Value="False">
                                                    <DataTrigger.Binding>
                                                        <MultiBinding Converter="{StaticResource OnlineRoomCoverter}">
                                                            <Binding Path="DataContext.OnlineRooms" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=DataGrid}" />
                                                            <Binding Path="ExamineRoom" />
                                                        </MultiBinding>
                                                    </DataTrigger.Binding>
                                                    <Setter Property="Foreground" Value="Red" />
                                                    <Setter Property="ToolTip" Value="{lex:LocText RoomNotOnline}" />
                                                </DataTrigger>
                                            </Style.Triggers>
                                        </Style>
                                    </TextBlock.Style>
                                </TextBlock>

                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
时间: 2024-08-06 22:50:27

WPF DataTriger 用法示例代码的相关文章

WPF 高性能位图渲染 WriteableBitmap 及其高性能用法示例

原文:WPF 高性能位图渲染 WriteableBitmap 及其高性能用法示例 WPF 渲染框架并没有对外提供多少可以完全控制渲染的部分,目前可以做的有: D3DImage,用来承载使用 DirectX 各个版本渲染内容的控件 WriteableBitmap,通过一段内存空间来指定如何渲染一个位图的图片 HwndHost,通过承载一个子窗口以便能叠加任何种类渲染的控件 本文将解释如何最大程度压榨 WriteableBitmap 在 WPF 下的性能. 本文内容 如何使用 WriteableBi

WPF使用Path画圆的一个示例代码

原文:WPF使用Path画圆的一个示例代码 <Path Fill="red" Data="M 0,0 A 20,20 45 1 1 0,1 Z"/> 1. Fill是指Path的填充颜色 2. Data是Path的路径, M 0,0  --画笔移到0,0处: A 20,20 --画半径为20的圆弧: 45 1 1 --- 45为转角角度,1:是否有大小弧,画椭圆时才有用:1:顺时针 0,1 --- 终点 Z --- 闭合 原文地址:https://www

openat与open的区别及用法示例

从2.6.16版本开始,GNU/Linux引入opeant系统调用: #define _XOPEN_SOURCE 700 /* Or define _POSIX_C_SOURCE >= 200809 */ #include <fcntl.h> int openat(int dirfd , const char * pathname , int flags , ... /* mode_t mode */); Returns file descriptor on success, or –1

wxpython布局管理部件wx.gridbagsizer用法示例

text = ("This is text box")         panel = wx.Panel(self, -1)         chkAll1 = wx.CheckBox(panel, ID_CHKBOX_CAN_SEL_ALL, u'全选')                chkKnown = wx.CheckBox(panel, ID_CHKBOX_CAN_UNKNOWN, u'不会')         chkUnknow = wx.CheckBox(panel, I

pyspider示例代码三:用PyQuery解析页面数据

本系列文章主要记录和讲解pyspider的示例代码,希望能抛砖引玉.pyspider示例代码官方网站是http://demo.pyspider.org/.上面的示例代码太多,无从下手.因此本人找出一下比较经典的示例进行简单讲解,希望对新手有一些帮助. 示例说明: 本示例主要是PyQuery解析返回的response页面数据.response.doc解析页面数据是pyspider的主要用法,应该熟练掌握基本使用方法.其他返回类型示例见后续文章. pyspider爬取的内容通过回调的参数respon

js中setTimeout/setInterval定时器用法示例

js中setTimeout(定时执行一次)和setInterval(间隔循环执行)用法介绍. setTimeout:在指定的毫秒数后调用指定的代码段或函数:setTimeout示例代码 function timedMsg() { setTimeout("alert('7 seconds!')",5000)//5秒后弹出信息 } setTimeout("timedMsg()",2000);//2秒后执行方法 timedMsg setInterval:在指定的时间间隔内

Swift常用语法示例代码(一)

此篇文章整理自我以前学习Swift时的一些练习代码,其存在的意义多是可以通过看示例代码更快地回忆Swift的主要语法. 如果你想系统学习Swift或者是Swift的初学者请绕路,感谢Github上The Swift Programming Language开源翻译的中文版,感谢极客学院wiki提供的PDF版本. 代码和PDF版本上传至Github,有兴趣的可以下载下来试试. SwiftTour Base var str = "Hello, World!" print(str) // 变

C#中HashTable的用法示例1

一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写:value用于存储对应于key的值.Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对. 二,哈希表的简单操作 在哈希表中添加一个keyvalue键值对:HashtableO

C++11中function和bind的用法示例

环境Visual Studio 2012,具体代码如下 #include <iostream> #include <functional> #include <string> void PrintNumber(int num) { std::cout << num << std::endl; } struct Printer { void Print(std::string print_str) { std::cout << prin