私はMVVMモデルを初めて使用しています。xamlのViewModelへのビューのバインドでエラーが発生する「インスタンスを作成できません」
説明: SQLテーブルからデータを読み取り、ビューに表示するMVVMサンプルWPFアプリケーションをビルドします。 ViewはWPFToolkit:gridを使用して結果を表示します。アプリケーションは正常に動作し、結果をグリッドに表示できます。アプリケーションはVS2010を使用して開発されています。
PeopleListView - >表示結果
<UserControl.DataContext>
<vm:PeopleViewModel/>
</UserControl.DataContext>
<WpfToolkit:DataGrid ItemsSource="{Binding Path=GetAllItems}" AutoGenerateColumns="False"
Name="WpfGrid" Margin="0,0,28,0" Width="301">
<WpfToolkit:DataGrid.Columns>
<WpfToolkit:DataGridTextColumn Header="Identifier" Width="Auto" Binding="{Binding Path=Id}"/>
<WpfToolkit:DataGridTextColumn Header="Description" Width="Auto" Binding="{Binding Path=Name}"/>
<WpfToolkit:DataGridTextColumn Header="Create Date" Width="Auto" Binding="{Binding Path=CreateDate}"/>
</WpfToolkit:DataGrid.Columns>
</WpfToolkit:DataGrid>
PeopleViewModel
- >class PeopleViewModel
{
PeopleRepository _Repository;
public PeopleViewModel()
{
_Repository = new PeopleRepository();
}
public IEnumerable<Person> GetAllItems
{
get { return _Repository.GetAllItems(); }
}
}
PeopleRepositoryは - >モデルクラスは、DBからすべての行を取得するには、エンティティフレームワークを使用します。
class PeopleRepository
{
MyEntities _Context;
public PeopleRepository()
{
_Context = new MyEntities();
}
public IEnumerable<Person> GetAllItems()
{
return _Context.People;
}
}
エンティティフレームワークモデルを使用して作成されたMyEntities。
App.Configには、Entity Frameworkモデルによって作成された接続文字列があります。
Vstudioデザインモードでは、ビューユーザーコントロールがエラーをスローします。 "PeopleViewModel"でArgumentExceptionがスローされました。 "PeopleViewModel"のインスタンスを作成できません。ライン
<vm:PeopleViewModel/>
感謝任意の助けに示す
エラー。ありがとう
しかし、あなたのコードが実行時に正常に動作していますか? –