1

私のWPFアプリケーションでは、コードビハインドから動的にDatagridを作成します。ただし、これに似た行ヘッダーにチェックボックスが付いたデータグリッドが必要です。

XMLからそれを行う方法は知っていますが、csコードからは知りません。この状況に対処する方法はありますか?ps。私のコードは非常に大きいのでここに入れることはできませんが、さらに情報が必要な場合は、下にコメントを入れてください。乾杯

4

1 に答える 1

2

このようなものはどうですか:

var dg = new DataGrid();

var dataTemplate = new DataTemplate();

var gridFactory = new FrameworkElementFactory(typeof(Grid));
var checkboxFactory = new FrameworkElementFactory(typeof(CheckBox));
checkboxFactory.SetBinding(CheckBox.IsCheckedProperty, new Binding("IsSelected") { RelativeSource = new RelativeSource(RelativeSourceMode.FindAncestor,typeof(DataGridRow),1)});
gridFactory.AppendChild(checkboxFactory);

dataTemplate.VisualTree = gridFactory;
dg.RowHeaderTemplate = dataTemplate;

うまくいけば、あまり労力をかけずにこれをコードに組み込むことができるはずです。おそらく、DataGrid名前を「dg」から変更するだけで済みます。

于 2013-02-01T12:20:11.690 に答える