【发布时间】:2016-04-21 20:17:25
【问题描述】:
我看到多年来有很多问题被问到,关于如何最好地与数据模板中的数据绑定,是否有最佳实践?在这种情况下,我希望我的 MemoryCopyBtn 复制当前选定的 MemoryListItem 文本框的文本,以便我可以在 ViewModel 中对其进行处理。
我可以使用 Findname 找到 ListView,但它会在 PageLoad 上显示 ListViewItem 的 null。
我可以将所有内容都放在内存模型页面中,但我认为这不是最佳做法。
我看到这是遍历可视化代码树的各种选项,但我想在运行时执行此操作,这真的是唯一的方法吗?
我有哪些选择? 谢谢。
<ListView x:Name="ClipboardList"
xmlns:m="using:QuickieEdit.Models"
ItemsSource="{x:Bind ViewModel.MemoryItems}">
<ListView.ItemTemplate>
<DataTemplate x:DataType="m:MemoryItem">
<StackPanel Orientation="Horizontal">
<Button x:Name="MemoryCopyBtn"
Content="Copy"
Click="How to Copy currently selected
MemoryListItem.Text?"/>
<TextBox x:Name="MemoryListItem"
Text="{x:Bind Memory, Mode=TwoWay}">
</TextBox>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
【问题讨论】:
-
单击按钮时,您要复制文本框中的文本,该文本位于同一 DataTemplate 中?
-
是的。我想复制当前选中或聚焦的 ListViewItem 的 TextBox.Content。
标签: wpf win-universal-app uwp-xaml