0

私は wpf が初めてで、データグリッドからリストボックスをバインドしようとしています。コードは次のようになります

DataGrid dataGrid = control as DataGrid;      
Columnslst.ItemsSource = dataGrid.Columns;      
Columnslst.DisplayMemberPath = "Header";

xaml の Columnslst リストボックスからテキスト ボックスをバインドする必要がなくなりました。

<TextBox Name="txtGridHeader" Margin="2" Text="{Binding ElementName=Columnslst, Path=SelectedItem.content}" ></TextBox>

しかし、それは機能しません

どうして ???

私に何ができる

4

1 に答える 1

2

C# コードによると、DataSource の各項目は、DataGridColumnタイプが であり、そのプロパティの 1 つが である場合はHeader、 で設定したのと同じですDisplayMemberPath

では、SelectedItemこれらのオブジェクトの 1 つに直接アクセスできる必要があるため (それらのいずれかが選択されている場合)、それはまだDataGridColumn型のままです。xaml で次の行を使用してみてください。

<TextBox Name="txtGridHeader" Margin="2" Text="{Binding ElementName=Columnslst, Path=SelectedItem.Header}" ></TextBox>

うまくいったかどうか教えてください。

于 2012-05-01T09:44:41.563 に答える