Trong mã XAML của mình, tôi muốn đặt Background
mà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 ObservableCollection
của z
, và mỗi trong số đó z
có 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 ItemsSource
này DataGrid
, và một SelectedItem
loạ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?