1

您好,我在 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 ???}?感谢您的所有帮助和时间。:)

4

0 回答 0