如何在Windows Phone 8.1中更改xaml中DataContext的父级

时间:2014-10-20 17:53:22

标签: xaml data-binding windows-phone

我在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)?

谢谢。

1 个答案:

答案 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>