C# 无法解析datatrigger wpf中的绑定

C# 无法解析datatrigger wpf中的绑定,c#,wpf,xaml,binding,foreground,C#,Wpf,Xaml,Binding,Foreground,使用此代码: <DataGrid Grid.Row="1" ItemsSource="{Binding DdaOptions.FilteredRecords.FilteredRecords}" AutoGenerateColumns="False" VerticalScrollBarVisibility="Auto" GridLinesVisibility="None" Background="{StaticResource White1

使用此代码:

  <DataGrid
    Grid.Row="1"
    ItemsSource="{Binding DdaOptions.FilteredRecords.FilteredRecords}"
    AutoGenerateColumns="False"
    VerticalScrollBarVisibility="Auto"
    GridLinesVisibility="None"
    Background="{StaticResource White1}"
    BorderThickness="1"
    BorderBrush="{StaticResource White1}"
    Style="{StaticResource Roboto10DataGrid}"
    AreRowDetailsFrozen="True"
    CanUserAddRows="False">
  <DataGrid.Columns>
    <DataGridTextColumn Header="GuideNumber" Binding="{Binding GuideNumber}" />
    <DataGridTextColumn Header="PartNumber" Binding="{Binding PartNumber}" />
    <DataGridTextColumn Header="Options" Binding="{Binding Options}" />
    <DataGridTextColumn Header="Description" Binding="{Binding Description}" />
    <DataGridTextColumn Header="PartStock" Binding="{Binding PartStock}" />
    <DataGridTextColumn Header="InterventionType" Binding="{Binding InterventionType}" />
  </DataGrid.Columns>
<DataGrid.RowStyle>
    <Style TargetType="DataGridRow" BasedOn="{StaticResource {x:Type DataGridRow}}">
      <Style.Triggers>
        <DataTrigger Binding="{Binding IsInDda}" Value="True">
          <Setter Property="Foreground" Value="{StaticResource DarkAccent1}" />
        </DataTrigger>
        <DataTrigger Binding="{Binding Highlighted}" Value="True">
          <Setter Property="Foreground">
            <Setter.Value>
             <SolidColorBrush Color="{Binding DdaOptions.MyColor}"/>
            </Setter.Value>
          </Setter>
        </DataTrigger>
      </Style.Triggers>
    </Style>
  </DataGrid.RowStyle>
</DataGrid>
用这条线

<SolidColorBrush Color="Red"/>

如果DdaOptions.MyColor源属性返回画笔,则应直接将前景属性设置为此画笔:

<DataTrigger Binding="{Binding Highlighted}" Value="True">
    <Setter Property="Foreground" Value="{Binding DdaOptions.MyColor}" />
</DataTrigger>

如果ddapoptions.MyColor源属性返回画笔,则应直接将前景属性设置为此画笔:

<DataTrigger Binding="{Binding Highlighted}" Value="True">
    <Setter Property="Foreground" Value="{Binding DdaOptions.MyColor}" />
</DataTrigger>

首先:

如果
DdaOptions.MyColor
属于
solidcolorbush
类型,则使用以下方法:

<DataTrigger Binding="{Binding Highlighted}" Value="True">
    <Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=DataContext.DdaOptions.MyColor}"/>
</DataTrigger>
当然,您必须将
AncestorType=Window
更改为正确的类型。

首先:

如果
DdaOptions.MyColor
属于
solidcolorbush
类型,则使用以下方法:

<DataTrigger Binding="{Binding Highlighted}" Value="True">
    <Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=DataContext.DdaOptions.MyColor}"/>
</DataTrigger>

当然,您必须将
AncestorType=Window
更改为正确的类型。

如果附加属性,请尝试这样做。。。什么是
DdaOptions
?DdaOptions是一个实现INotifyPropertyChangedIs
的视图模型。Mycolor
静态?如果是,您可以将其移动到
XAML
并使用
StaticResource
。您还必须解释
daOptions
应该是什么。如果附加属性,请尝试这样做,而不是这样做。。。什么是
DdaOptions
?DdaOptions是一个实现INotifyPropertyChangedIs
的视图模型。Mycolor
静态?如果是,您可以将其移动到
XAML
并使用
StaticResource
。您还必须解释
daOptions
应该是什么。是的,我这样做了,但颜色总是以黑色变化。在调试中,我可以看到MyColor(MyColor=new SolidColorBrush(Color.FromRgb(MyColor.R,MyColor.G,MyColor.B));)已正确设置,但我看到UI上始终为黑色使用不同的笔刷,然后:DdaOptions.MyColor=System.Windows.Media.brush.Yellow;根据您提供的信息,您不能期望任何人知道您希望显示的确切颜色…它仍然不起作用。我有一组按钮和一个网格。每个按钮都有一个自定义的背景色。当我单击按钮时,网格中行的前景应根据单击按钮的颜色进行相应更改。请提供所有相关代码,说明如何设置突出显示的属性。确保定义此属性的类正确实现INotifyPropertyChanged接口:是的,我这样做了,但颜色始终以黑色更改。在调试中,我可以看到MyColor(MyColor=new SolidColorBrush(Color.FromRgb(MyColor.R,MyColor.G,MyColor.B));)已正确设置,但我看到UI上始终为黑色使用不同的笔刷,然后:DdaOptions.MyColor=System.Windows.Media.brush.Yellow;根据您提供的信息,您不能期望任何人知道您希望显示的确切颜色…它仍然不起作用。我有一组按钮和一个网格。每个按钮都有一个自定义的背景色。当我单击按钮时,网格中行的前景应根据单击按钮的颜色进行相应更改。请提供所有相关代码,说明如何设置突出显示的属性。确保定义此属性的类正确实现INotifyPropertyChanged接口:
MyColor = new SolidColorBrush(Color.FromRgb(myColor.R, myColor.G, yColor.B));
<DataTrigger Binding="{Binding Highlighted}" Value="True">
    <Setter Property="Foreground" Value="{Binding DdaOptions.MyColor}" />
</DataTrigger>
<DataTrigger Binding="{Binding Highlighted}" Value="True">
    <Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=DataContext.DdaOptions.MyColor}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Highlighted}" Value="True">
  <Setter Property="Foreground">
    <Setter.Value>
      <SolidColorBrush Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=DataContext.DdaOptions.MyColor}"/>
    </Setter.Value>
  </Setter>
</DataTrigger>