Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Textblock datagrid WPF中选定的前景色_C#_Wpf_Xaml_.net 3.5_Datagrid - Fatal编程技术网

C# Textblock datagrid WPF中选定的前景色

C# Textblock datagrid WPF中选定的前景色,c#,wpf,xaml,.net-3.5,datagrid,C#,Wpf,Xaml,.net 3.5,Datagrid,我已经在WPF中创建了一个数据网格… 我已经定义了几个自定义列 <my:DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding HeadC}" /> <TextBlock Text="{Binding HeadCPer

我已经在WPF中创建了一个数据网格…
我已经定义了几个自定义列

 <my:DataGridTemplateColumn.CellTemplate>
       <DataTemplate>
           <StackPanel>
                <TextBlock Text="{Binding HeadC}" />
                <TextBlock Text="{Binding HeadCPercent}"  Foreground="#FFF05D1D" />
           </StackPanel>
       </DataTemplate>
 </my:DataGridTemplateColumn.CellTemplate>

问题是,当选中一行时,秒文本块颜色不会改变,而且几乎看不见


此问题的任何解决方案?

DataTrigger
添加到
DataTemplate
触发器集合中,该集合将根据行的选定状态更改前景。如以下示例所示:

<DataTemplate>
  <StackPanel>
    <TextBlock Text="{Binding HeadC}" />
    <TextBlock x:Name="tbPercent" Text="{Binding HeadCPercent}" Foreground="#FFF05D1D"/>
  </StackPanel>
  <DataTemplate.Triggers>
    <DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type dg:DataGridRow}}}" Value="True">
        <Setter Property="Foreground" TargetName="tbPercent" Value="Blue" />
    </DataTrigger>
  </DataTemlate.Triggers>
</DataTemplate>


我以此为基础,根据你的问题进行了调整。我可以在代码中输入错误,但你应该明白:)。希望有帮助。

要为突出显示的文本使用默认系统颜色,请使用
Value=“{x:Static SystemColors.HighlightTextBrush}”
而不是上面的
蓝色。