XAML/WPF は初めてで、この奇妙な問題に遭遇しました:
DataSource を設定するリスト ビューがあります。DataSource は、「CatalogPartRows」の配列リストです。コードで列を作成します。次に、セル テンプレートを設定します (一部の列にはコンボ ボックスとチェック ボックスが含まれています)。ここでの問題は、セルに設定する必要がある文字列を取得する「CatalogPartRow」クラスの関数を呼び出す必要があることです。
これが私が使用しようとしているコードです:
// THIS DOES NOT WORK
//
ObjectDataProvider ODP = new ObjectDataProvider();
ODP.MethodName = "PropertyValueAsString";
ODP.MethodParameters.Add(PropertyName);
ODP.ObjectType = typeof(CatalogPartRow);
Binding DataBindingText = new Binding();
DataBindingText.Source = ODP;
// THIS WORKS
//
//String BindingPathText = /*NOXLATE*/"PropertyValues[" + CPR.IndexOf(PropertyName) + /*NOXLATE*/"]";
//Binding DataBindingText = new Binding(BindingPathText);
FrameworkElementFactory TextBlockElement = new FrameworkElementFactory(typeof(TextBlock));
TextBlockElement.SetBinding(TextBlock.TextProperty, DataBindingText);
FrameworkElementFactory PropertyColumnElement = new FrameworkElementFactory(typeof(Grid));
PropertyColumnElement.AppendChild(TextBlockElement);
DataTemplate DT = new DataTemplate();
DT.VisualTree = PropertyColumnElement;
GVC.CellTemplate = DT;
私のアプローチは正しいですか?
CPR = CatalogPartRow
GVC = GridViewColumn
ありがとう、ラージ。