我在Windows Phone 8.1中有这个xaml。 我的页面数据上下文被绑定到ViewModel,即VM。 我的listView绑定到ViewModel的项目。 并且每个列表视图项中的文本都绑定到ViewModel的项目文本。
<Page DataContext="{Binding VM}">
<ListView ItemsSource="{Binding Items}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding Text}"/>
<TextBox Text="{Binding soemthing in VM}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Page>
我的问题是如何更改第二个TextBox的父datacontext,以便我可以在ViewModel中绑定一些内容(而不是我的ViewModel.Items)?
谢谢。
答案 0 :(得分:0)
如果你不介意元素绑定,
<ListView ItemsSource="{Binding Items}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding Text}"/>
<!-- Bind the DataContext directly to the whatever element you like, in this case the page, then the Text Binding is basically the DataContext.VM_Property -->
<TextBlock Text="{Binding DataContext.VM_Property}" DataContext="{Binding ElementName=page}" ></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>