ItemSourceの値に応じて行の背景を変更したいDataGridがあるので、現在のアイテムを渡す必要がありますが、その方法がわかりません。
私はそれをしています:
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{StaticResource myDataGridBackgroundMultiValueConverter}">
<MultiBinding.Bindings>
<Binding ElementName="ucPrincipal" Path="DataContext.MyProperty01FromDataContext"/>
<Binding ElementName="ucPrincipal" Path="DataContext.MyProperty02FromDataContext"/>
<Binding ElementName="ucPrincipal" Path="DataContext.MyProperty03FromDataContext"/>
<Binding ElementName="dgdMyGrid" Path="CurrentItem"/>
</MultiBinding.Bindings>
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</DataGrid.RowStyle>
DataGridには、の(多くのプロパティを持つ)ItemsSource
コレクションがあります。行の情報を含むMyDataClassをコンバーターに渡す必要があります。MyDataClass
ViewModel
私は常にnullを受け取るため、CurrentItemは機能しません。
他のすべてのパラメータは問題ありません。