2011-07-20 18 views
7

プログラムでDataGridを作成していて、行の高さを可変にする必要があるため、複数の行のテキストを含む行の高さが増え、追加の行に対応できます。可変行の高さを持つWPF DataGrid

コードでRowHeightプロパティを設定しようとしましたが、固定値が必要です。 RowHeightを設定しないままにすると、テキストが収まらない場合は展開しない任意の値が使用されます。

DataGridの内容を拡大縮小することもできます。DataGridのサイズを変更すると、セル内のフォントも含めて実際のセルのサイズが変更されます。私はこれにViewboxを使うことができましたが、Viewboxに問題がありました。テキストに合わせて拡大しないので、テキストが収まるように縮小/拡大します。

おそらく、私は、サイズ変更のすべての行と列を歩いて、高さプロパティを手動で設定する必要があります。

答えて

7

この試してみてください:あなたのウィンドウのコンストラクタで

をください:トムからこの問題に

dataGrid.RowHeight = double.NaN; 
+0

コード内でこれを行うにはどうすればよいですか。 DataGridViewは表示されません。 DataGrid myDataGrid =新しいDataGrid(); // myDataGridをカスタマイズするにはどうすればいいですか parentGrid.Children.Add(myDataGrid); – WPFNewbie

+0

コードの背後でこれを行う必要はありません。デザインモードでDataGridViewをクリックし、プロパティウィンドウに移動し、AutoSizeRowsMo​​deを検索して設定します。 –

+0

私が得るのはAutoGenerateColumnsだけですが、これはDataGrid上にあります。それはDataGridViewが認識されないことを私に伝えます。 – WPFNewbie

8

偉大な答えは - 今非常に便利になりました。あなたが背後にあるコードをせずに、XAMLで純粋にこれをacheiveしたい場合は、RowHeight="{x:Static sys:Double.NaN}"

がここに認識「SYS」名前空間を取得するには、あなたはでのxmlns宣言へxmlns:sys="clr-namespace:System;assembly=mscorlib"を追加する必要がありますあなたのDataGrid宣言で次のプロパティを追加することができますXamlファイルの先頭

+0

XAMLのバージョン@pandrewを提供していただきありがとうございます。かなりうまくいく。 – Alex

関連する問題