WPF.binding_bool判斷

1、需求:DataGrid中某一個列綁定的是一個bool型的類成員,需要根據這個bool型的 true/false 顯示 是/否

2、網上資料:

 2.1、WPF的DataGrid的某個列綁定數據的三種方法(Binding、Converter、DataTrigger) - DotNet之路 - 博客園.html(https://www.cnblogs.com/lonelyxmas/p/11100212.html

 

最近在使用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,則前臺顯示爲 綠色的“是”字。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章