您好,我在 WPF 应用程序中使用 datagrid 来显示/更改数据库中的一些数据。我有一个问题,我已将 datagrid datacontext 绑定到 observablecollection 的 itemssource 的外部属性,效果很好,但我想从 observablecollection 将 datagridrow 背景颜色绑定到他的项目,但由于绑定的 datacontext 我无法获取项目这里是代码:
<Grid Height="566" Width="700" DataContext="{Binding Manager}">
<Border BorderThickness="1" BorderBrush="Black"/>
<StackPanel Orientation="Horizontal">
<StackPanel Width="553">
<StackPanel Margin="10,10,0,0">
<Border BorderThickness="1" BorderBrush="Black" Height="180">
<DataGrid Name="dataGridMain" ItemsSource="{Binding DataGridItems}" Background="White"
ColumnWidth="0.25*" IsReadOnly="True" LoadingRow="dataGridMain_LoadingRow" Margin="0,0,0,-1">
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<EventSetter Event="MouseDoubleClick" Handler="dataGridMain_MouseDoubleClick"/>
<Setter Property="Background" Value="{Binding ???}" ></Setter>
</Style>
</DataGrid.RowStyle>
</DataGrid>
</Border>
</StackPanel>
Manager 是我自己的对象,它具有数据网格的 observablecollection 并处理我需要的所有方法、属性等。我在那里有很多文本框和标签,它们绑定到这个管理器的属性,这就是为什么它被设置为“全局”数据上下文。除非确实有必要,否则我不想更改此设置。那么我怎样才能获得行项目属性 int value={Binding ???}?感谢您的所有帮助和时间。:)