Trong mã XAML của mình, tôi muốn đặt Backgroundmàu của từng hàng, dựa trên giá trị của đối tượng trong một hàng cụ thể. Tôi có một ObservableCollectioncủa z, và mỗi trong số đó zcó một thuộc tính được gọi là State. Tôi bắt đầu với một cái gì đó như thế này trong DataGrid:
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background"
Value="{Binding z.StateId, Converter={StaticResource StateIdToColorConverter}}"/>
</Style>
</DataGrid.RowStyle>
Đây là một cách tiếp cận sai vì x không phải là một thuộc tính trong lớp ViewModel của tôi.
Trong lớp ViewModel của tôi, tôi có một ObservableCollection<z>loại ItemsSourcenày DataGrid, và một SelectedItemloại z.
Tôi có thể liên kết màu với SelectedItem, nhưng điều này sẽ chỉ thay đổi một hàng trong DataGrid.
Làm cách nào để tôi có thể, dựa trên một thuộc tính thay đổi màu nền của hàng này?
'State' property not found on 'object' ''z' (HashCode=7162954)'. BindingExpression:Path=State; DataItem='z' (HashCode=7162954); target element is 'DataGridRow' (Name=''); target property is 'NoTarget' (type 'Object')thế nào để nó không tìm thấy Trạng thái thuộc tính khi thực thể của tôi giữ điều này và cơ sở dữ liệu của tôi hiển thị Trạng thái dưới dạng cột?