我正在使用XAML和C#创建一个UWP应用程序。 ListView中的每个ListViewItem都包含一个TextBox。当我单击/选择一个ListViewItem时,我会将焦点设置在该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风格中实现此功能的最佳方法是什么?
答案 0 :(得分:0)
这听起来像一个纯粹的观点问题,因此应该纯粹在视图中解决。但是,它可能需要一些代码。还有一个问题:你永远不需要选择ListView项目本身的可能性有多大?如果不是100%可能,请考虑直接选择它的方法(如双击)。
这些答案看起来很相似: https://stackoverflow.com/a/40054140/3346583(事件处理程序和itterating over元素) 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(使用调度员) 我搜索了&#34; UWP ListView Focus Child&#34;。但寻找WPF解决方案几乎可能产生结果。