单击ListViewItem时如何将焦点设置在TextBox上?

时间:2017-12-30 13:42:01

标签: c# mvvm textbox listviewitem setfocus

我正在使用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风格中实现此功能的最佳方法是什么?

1 个答案:

答案 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解决方案几乎可能产生结果。