這裏做的是我的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模式瞭解更多信息。
有辦法綁定到靜態方法,但如果你所做的只是基本的數據綁定,那麼它有點矯枉過正。如果您有興趣,請查看Actions。
來源
2010-11-24 01:33:47
SRM
這曾經是我最想要的功能之一。現在我使用ViewModel將該函數作爲只讀屬性公開。 – 2010-11-24 00:51:27
@Jon,有時這樣做很方便,但我認爲它使View模板過於依賴於後端實現。 – xandy 2010-11-24 02:17:20