• 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>
  • 相关阅读:
    解决Android Studio Gradle DSL method not found: 'android()'
    【转】关于ListView中notifyDataSetChanged()刷新数据不更新原因
    设计模式-单例模式
    IE浏览器让DIV居中
    Java通过DOM解析XML
    git 配置文件位置;git配置文件设置
    git config配置
    dos2unix
    文件的编码问题解决
    git diff old mode 100644 new mode 100755
  • 原文地址:https://www.cnblogs.com/karl-F/p/8081607.html
Copyright © 2020-2023  润新知