Windows 8 Listbox将所选项目文本转换为另一个文本框

Windows 8 Listbox将所选项目文本转换为另一个文本框,windows-8,windows-runtime,winrt-xaml,windows-8.1,Windows 8,Windows Runtime,Winrt Xaml,Windows 8.1,当我选择一个列表框项目时,我希望将该数据传递给另一个文本块 我的设置方式: 在我的listbox.itemtemplate中,我在stackpanel中有两个文本块。 列表框中的文本是从类绑定的 问题: 由于textblock位于listbox.item中,我无法调用mainpage.cs中的textblock,而我可以调用网格中textblock中的数据 如何从列表框项目内部获取文本块中的文本以传递到另一个文本块或标签。我通常采用的方法是,使用视图模型上类似命名的属性,对列表控件上的Selec

当我选择一个列表框项目时,我希望将该数据传递给另一个文本块

我的设置方式: 在我的listbox.itemtemplate中,我在stackpanel中有两个文本块。 列表框中的文本是从类绑定的

问题: 由于textblock位于listbox.item中,我无法调用mainpage.cs中的textblock,而我可以调用网格中textblock中的数据


如何从列表框项目内部获取文本块中的文本以传递到另一个文本块或标签。

我通常采用的方法是,使用视图模型上类似命名的属性,对列表控件上的
SelectedItem
属性进行双向绑定,一旦绑定,我的所选项目视图就可以绑定到视图模型。当然,您可以使用
ElementName
绑定直接从所选项目视图绑定到列表控件的
SelectedItem
,并进一步绑定到项目属性的属性,但这忽略了关注点的分离

脏方法的示例:

<ListView
    x:Name="lv">
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding Property1}" />
                <TextBlock Text="{Binding Property2}" />
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView

<Grid
    x:Name="SelectedItemView">
    <TextBlock Text="{Binding SelectedItem.Property1, ElementName='lv'}" />
</Grid>


如果没有一些示例代码,就很难理解代码是如何安排的,以及您遇到的具体问题是什么。听起来您可能只需要双向绑定。(我还修改了您的标记以使其更合适。Windows应用商店应用程序中不使用WPF和Win32。)