xaml将Listview元素绑定到另一个数据源(WinRT)

时间:2013-01-10 02:02:43

标签: xaml winrt-xaml

我有一个viewModel,它由一个类和一个Observable集合

组成
class MyViewModel
{
    public string SomeName {set; get;};
    public ObservableCollection<ItemName> ItemNames {set; get;}
} 

在页面中我将页面本身的DataContext设置为该对象,即

MyViewModel myModel = new MyViewModel("111");
this.DataContext = myModel;

然后我在页面设计中有一个ListView引用了datacontext,我可以使用ItemSource属性从中获取值

<ListView
....
ItemsSource="{Binding Path=ItemNames}">

但是,在此ListView中,如何访问“SomeName”属性?

2 个答案:

答案 0 :(得分:0)

ListView需要列的定义。每列可以绑定到不同的属性。

在你的情况下:

<ListView 
....
ItemsSource="{Binding Path=ItemNames}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="The Name" DisplayMemberBinding="{Binding SomeName}" />
        </GridView>
    </ListView.View>
</ListView>

答案 1 :(得分:0)

我正在使用WinRT,我发现它的工作方式是将源设置为'Binding',然后给出对象的路径

Text="{Binding Source={Binding}, Path=SomeName}"