![](/img/trans.png)
[英]How can I change the selected text background color in Rich text box wpf c#
[英]How can I change the background color if cells are selected?
我有一個DataGrid
,包含一列的以下CellStyle
:
<DataGridTextColumn.CellStyle >
<Style TargetType="DataGridCell">
<EventSetter Event="MouseUp" Handler="DataGridCell_PreviewMouseUp"/>
<Setter Property="ToolTip">
<Setter.Value>
<ToolTip>
<StackPanel>
<TextBlock Text="{Binding FirstWeek.Monday.Dienstbezeichnung}"/>
<TextBlock Text="{Binding FirstWeek.Monday.Comment}" Visibility="{Binding FirstWeek.Monday.Comment,Converter={StaticResource ContentVisibilityConverter}}"/>
</StackPanel>
</ToolTip>
</Setter.Value>
</Setter>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding FirstWeek.Monday, Converter={StaticResource CheckCellItem} }" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="{Binding FirstWeek.Monday.ContentColor, Converter={StaticResource ColorStringToColorConverter}}"></Setter>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
如您所見,我使用DataTrigger
來更改背景顏色。 我的問題是,如果選擇了單元格,我沒有找到覆蓋此值的方法。 如果用戶選擇了單元格,只要選擇了單元格,背景顏色就應該是藍色。 關於如何解決這個問題的任何想法? 目前,只有單元格的邊框略有變化,但我希望整個單元格為藍色,如果它被選中。
向MultiDataTrigger
添加一個條件,以確保僅在未選擇當前單元格時才應用Setter
。 因此,如果選擇了一個單元格,則會應用默認的選擇顏色。
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding FirstWeek.Monday, Converter={StaticResource CheckCellItem} }" Value="True"/>
<Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="False"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="{Binding FirstWeek.Monday.ContentColor, Converter={StaticResource ColorStringToColorConverter}}"/>
</MultiDataTrigger>
如果要更改一般選擇顏色,則必須創建自定義控件模板並更改Selected狀態。 你不能以一種風格來做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.