1

こんにちは、WPF アプリケーションでデータグリッドを使用して、データベースのデータを表示/変更します。datagrid datacontext を observablecollection の itemssource の外部プロパティにバインドしたという問題がありますが、これは完全に機能しますが、datagridrow の背景色を observablecollection からアイテムにバインドしたいのですが、データ コンテキストがバインドされているため、アイテムを取得できません。コードは次のとおりです。

    <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 は、datagrid の observablecollection を持ち、必要なすべてのメソッド、プロパティなどを処理する私自身のオブジェクトです。このマネージャーのプロパティにバインドされている多くのテキストボックスとラベルがあります。そのため、「グローバル」データコンテキストとして設定されています。本当に必要でない限り、これを変更したくありません。では、行項目のプロパティを value={Binding ???} で取得するにはどうすればよいでしょうか? あなたの助けと時間をありがとう.:)

4

0 に答える 0