2

DataGridを持つWPF アプリがあります。列と行の数が常に同じであるとは限らないため、それを埋めるために使用しています。AutoGenerateColumns="True"

問題は、行ヘッダーではなく列ヘッダーのみが自動的に生成されることです。だから私は彼らがここでやったことをすることにしました: http :AutoGenerateColumns="False" //tech.pro/tutorial/1055/wpf-datagrid-tutorial-row-headers常に同じサイズではない - ヘッダーに常に同じテキストが含まれているとは限りません。

上記のリンクのコードでは、列ヘッダーと行ヘッダーの両方があります (これは、xaml コードで手動でバインドすることによって設定されます) が、最初の (ヘッダー) 列も取得しました。最初の列を消去できません - 例外が発生します。

リンクのように手動で設定せずに行ヘッダーを取得する方法のヒントはありますか? または、行ヘッダーとして使用している最初の列を削除する方法はありますか?

PS: 人々がここでこのようなことについて質問していることは知っていますが、私と同じ問題を抱えていて、私を助ける答えのある質問は見つかりませんでした:|

4

1 に答える 1

4

コードでスタイルを作成できます:

        Style rowHeaderStyle=new System.Windows.Style(typeof(DataGridRowHeader));
        rowHeaderStyle.Setters.Add(new Setter(DataGridRowHeader.ContentProperty,new Binding("SomeField")));
        simpleDataGrid.RowHeaderStyle = rowHeaderStyle;

AutoGeneratingColumn Event でこのフィールドを削除します。

    private void simpleDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
    {
        if (e.PropertyName == "SomeProperty")
            e.Cancel = true;
    }
于 2013-05-09T11:00:35.580 に答える