ユーザーが情報を追加できるように、監視可能なコレクションにバインドされているWPF Datagridの下部に空白行があるようにしたいと思います。データのバインドに成功しました。つまり、データを表示できます。
「新しい」空白行が表示されないのはなぜですか?ここに私のxaml宣言があります:
<UserControl.Resources>
<CollectionViewSource x:Key="MyItems" Source="{Binding Path=AllItems}">
</CollectionViewSource>
</UserControl.Resource>
<my:DataGrid HorizontalAlignment="Stretch"
AutoGenerateColumns="True"
SelectionUnit="FullRow"
CanUserAddRows="True"
CanUserDeleteRows="True"
DataContext="{StaticResource MyItems}"
ItemsSource="{Binding}">
PS:私は Josh SmithのMVVM実装 を使用しています。私はまた、この問題についてSO posts をいくつか読んでいます they は helped を読んでいません。
前もって感謝します。
更新2010-01-14:
Usercontrol loadイベントが発生すると、 "CanUserAdddRows"はfalseになります。記載されている条件と何か関係があるのではないかと思います here 。
問題が見つかりました。 ObservableCollectionの一部であるオブジェクトの私のコンストラクターは、パブリックとして宣言されていません。
*頭をぶつけた*
御時間ありがとうございます。
ObeservableCollection内のオブジェクトに、デフォルトのパラメーターなしのコンストラクターがあることを確認してください。
新しい空白行は、バインドしているコレクションがIEditableCollectionViewを実装しているかどうかによって異なります。 こちら を参照してください。そうは言っても、うまくいくこともあれば、説明がつかないこともあるようですが、IEditableCollectionViewが始まりです