WPF datatriggerに結合解決できません:は、このコードを使用して
<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>
結合Color="{Binding DdaOptions.MyColor}"
は動作しません。私はこのライン
<SolidColorBrush Color="Red"/>
と
<SolidColorBrush Color="{Binding DdaOptions.MyColor}"/>
ラインを交換する場合、それは動作します。デバッグを使用すると、DdaOptions.MyColorプロパティが正しく設定されます。 この問題を解決するにはどうすればコードを変更できますか? 私の代わりに
<SolidColorBrush Color="{Binding DdaOptions.MyColor}"/>
のコンバータを使用しようとしたが、問題はまだ残っています。 プロパティMyColorのタイプはColorです。 DdaはViewModelであり、INotifyPropertyChangedを実装しています。 このコード
<DataTrigger Binding="{Binding Highlighted}" Value="True">
<Setter Property="Foreground" Value="{Binding DdaOptions.MyColor}"/>
</DataTrigger>
代わりに
<DataTrigger Binding="{Binding Highlighted}" Value="True">
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{Binding DdaOptions.MyColor}"/>
</Setter.Value>
</Setter>
</DataTrigger>
ブラックとして常に色の変化を利用して
UPDATE
。 MyColorはブラシであり、私はこの方法でそれを設定します。
<DataTrigger Binding="{Binding Highlighted}" Value="True">
<Setter Property="Foreground" Value="{Binding DdaOptions.MyColor}" />
</DataTrigger>
代わりに、この<たSolidColorBrushカラー= "{バインディングDdaOptions.MyColor}" />のものがAttachedPropertyある場合、 は SolidColorBrushの色= "{バインディングパス=(DdaOptions.MyColor)}"> 、このように試みるが – WPFUser
... 'DdaOptions'とは何ですか? – AnjumSKhan
DdaOptionsはINotifyPropertyChangedを実装するViewModelです – MartinaLabMath