をそれを行うことができないように見えますが、私のViewModel内のプロパティです:
public ObservableCollection<Contact> AllContacts
{
get { return _applicationViewModel.CurrentContacts; }
}
そして、ここでは私のXAMLです:
<ListView Margin="5" ItemsSource="{Binding Path=AllContacts}">
<ListView.View>
<GridView>
<GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding Path=LastName}" />
<GridViewColumn Header="First Name" DisplayMemberBinding="{Binding Path=FirstName}" />
<GridViewColumn Header="Work Phone" DisplayMemberBinding="{Binding Path=OfficePhone, Converter={StaticResource phoneConverter}}" />
<GridViewColumn Header="Cell Phone" DisplayMemberBinding="{Binding Path=CellPhone, Converter={StaticResource phoneConverter}}" />
<GridViewColumn Header="Email Address" DisplayMemberBinding="{Binding Path=PrimaryEmail}" />
</GridView>
</ListView.View>
</ListView>
DataContextをViewModelに設定するだけで、必要なものすべてを手に入れることができます。詳細はMVVMパターンを参照してください。
静的メソッドにバインドする方法はありますが、基本的なデータバインディングをすべて行っているのであれば、やりすぎです。興味がある場合は、アクションを見てください。
出典
2010-11-24 01:33:47
SRM
これは私の最も望む機能の1つでした。最近は、ViewModelを使用して、この関数を読み取り専用プロパティとして公開しています。 –
@ジョン、時々そうするのは便利ですが、ビューテンプレートもバックエンドの実装に依存しすぎてしまうと思います。 – xandy