单击ListViewItem时如何将焦点设置在TextBox上?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单击ListViewItem时如何将焦点设置在TextBox上?相关的知识,希望对你有一定的参考价值。
我正在使用XAML和C#创建一个UWP应用程序。 ListView中的每个ListViewItem都包含一个TextBox。当我单击/选择ListViewItem时,我会将Focus设置在该ListViewItem中的TextBox上。
<ListView ItemsSource="{Binding Items, Mode=OneWay}">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
...
<TextBox Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<i:Interaction.Behaviors>
...
</i:Interaction.Behaviors>
</TextBox>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
在MVVM风格中实现这一点的最佳方法是什么?
答案
这听起来像一个纯粹的观点问题,因此应该纯粹在视图中解决。但是,它可能需要一些代码。还有一个问题:你永远不需要选择ListView项目本身的可能性有多大?如果不是100%可能,请考虑直接选择它的方法(如doubleclick)。
这些答案看起来很相似:https://stackoverflow.com/a/40054140/3346583(事件处理程序和itterating over elements)https://social.msdn.microsoft.com/Forums/en-US/1d52e0db-eef6-4022-9d27-ef456ad795a9/uwp-i-cant-set-focus-on-a-text-box-in-listviewitem?forum=wpdevelop(使用调度程序)我搜索了“UWP ListView Focus Child”。但寻找WPF解决方案几乎可能产生结果。
以上是关于单击ListViewItem时如何将焦点设置在TextBox上?的主要内容,如果未能解决你的问题,请参考以下文章