0

次のように、データグリッドにコードビハインドを入力します。

var customers = from c in _db.Customers
                select c;
TheDataGrid.ItemsSource = customers.ToList();

以下の私のXAMLでは、DataGrid.RowBackgroundは機能しますが、DataGridHeaderBorderは、実行時にコードビハインドで「ItemsSourceを使用する前にアイテムリストを空にする必要があります」というエラーを受け取ります。

Datagridヘッダーの色を変更しようとしているだけで、ItemsSourceで問題が発生するため、これは奇妙なことです。DataGridHeaderBorder行を削除すると、正常に機能します。

では、Datagridの列ヘッダーの色を簡単に変更するにはどうすればよいでしょうか。

        <toolkit:DataGridHeaderBorder Background="yellow"/>

        <toolkit:DataGrid.RowBackground>
            <LinearGradientBrush EndPoint="-0.136,-0.163" StartPoint="1.291,1.248">
                <GradientStop Color="#FFA8A929" Offset="0.004"/>
                <GradientStop Color="#FFF7F7ED" Offset="0.991"/>
            </LinearGradientBrush>
        </toolkit:DataGrid.RowBackground>
4

1 に答える 1

1

要素内に要素を配置するときはいつでも、XAML パーサーは、サブ要素が複雑なプロパティの割り当てであるかどうか (あなたがしようとしているように)、またはサブ要素を親の「コンテンツ」にするつもりかどうかを決定する必要があります。エレメント。問題の「DataGridHeaderBorder」タグは「toolkit:DataGrid」で始まっていないため、DataGrid の content プロパティ (たまたま Items) をこの値に設定しようとしていると想定されます。

私はこれを試す立場にありませんが、問題のタグを次のようなものに置き換える必要があると思います。

<toolkit:DataGrid.RowHeaderStyle>
    <Style TargetType="{x:Type toolkit:DataGridRowHeader}">
        <Setter Property="Background" Value="Yellow" />
    </Style>
</toolkit:DataGrid.RowHeaderStyle>
于 2009-03-26T19:57:48.723 に答える