私はListViewと選択されたオブジェクトの詳細が表示される領域でウィンドウを作成しようとしています。リストビューには、ObservableCollection(Of T)
コレクションに格納されているアイテムが表示されます。項目自体にはObservableCollecton(Of T)
コレクションも含まれており、別のListViewの詳細領域に表示され、最初のListView
の選択項目に表示されます。WPF Databinding ListViewオブジェクトのプロパティに何もない可能性があります
問題: InitializeComponent()は例外(XAMLParseException
)をスローします。
例外:
Set property 'System.Windows.Controls.GridViewColumn.DisplayMemberBinding' threw an exception.
のInnerException:例外の
Object of type 'System.String' cannot be converted to type 'System.Windows.Data.BindingBase'.
LINE-とColumNumer私のリストビュー(.View)の<GridView>
で指している
これが初でありますリストビュー
<ListView ItemsSource="{Binding Path=MyObjectCollection, Mode=OneWay}" SelectedItem="{Binding Path=Selected, Mode=OneWayToSource}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Path=Name, Mode=OneWay}">
<GridViewColumnHeader Content="Name" />
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
そして、これは、第二のListView
<ListView ItemsSource="{Binding Path=SelectedItem.MySubCollection, Mode=OneWay}">
<ListView.View>
<GridView> <!-- Thats the Line where the Exception is pointing at -->
<GridViewColumn Width="150" DisplayMemberBinding="Key">
<GridViewColumnHeader Content="Key" />
</GridViewColumn>
<GridViewColumn Width="150" DisplayMemberBinding="Value">
<GridViewColumnHeader Content="Value" />
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
SoがありますオブジェクトのCollectionプロパティにバインドする方法は何もできませんか?
これは機能します。ありがとうalot :)。ちょうどバインディング式を逃した。しかし、私はバインディング式なしで既にそれを使用していたと思った...多分何かにそれを混乱..とにかく..ありがとう助け:) – Nicholas
私はあなたが 'ItemsControl.DisplayMemberPath'プロパティでそれを混乱させたと思う確かに文字列です。 – nemesv