我看到多年来有很多问题被问到,关于如何最好地与数据模板中的数据绑定,是否有最佳实践?在这种情况下,我希望我的 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>