簡體   English   中英

如果選擇了單元格,如何更改背景顏色?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM