在项目控制中设置对新项目的关注

Posted

技术标签:

【中文标题】在项目控制中设置对新项目的关注【英文标题】:Setting Focus on new Items in Items Control 【发布时间】:2010-10-20 15:54:47 【问题描述】:

我有一个 ListBox,它通过数据绑定将新项目添加到其中(即,列表中添加了一些内容,并且框正在更新以包含新项目)。

列表框中的项目是可编辑的数据模板,所以问题是:添加新项目时如何将焦点设置到模板中的第一个字段?

我查看了this question 并打算看看它是否能让我有所收获,但这并不是对我问题的直接回应。

【问题讨论】:

【参考方案1】:

您链接到的问题应该适用于您的特定情况。只要您使用 ObservableCollection 作为源,您就可以设置:

<ListBox IsSynchronizedWithCurrentItem="True" ItemsSource="Binding MyCollection" ItemTemplate="StaticResource MyTemplate/>

这将确保在添加项目时将焦点赋予新项目,然后焦点管理器(查看该线程中的第一个响应)应将焦点赋予文本框。 MSDN 文章提供了一个有用的示例,在此处放入模板:

<DataTemplate x:Key="MyTemplate" DataType="x:Type Classes:MyClass">    
  <StackPanel FocusManager.FocusedElement="Binding ElementName=firstButton">
    <Button Name="firstButton" />
  </StackPanel>
</DataTemplate>

【讨论】:

由于数据模板中存在 UserControl 需要处理焦点事件并将其传递给我想要的实际文本框,我的问题实际上变得更加复杂,但这里的设置让我很远足以弄清楚,谢谢。 你可能会发布你的代码,以防其他人来寻找类似的东西。

以上是关于在项目控制中设置对新项目的关注的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 Android 中设置对加密数据的随机访问?

如何在 Access VBA 中设置对正在运行的对象的引用

在iptables防火墙中设置对yum放行

如何在此示例中设置对节点的引用

如何在 Swift 的标签栏项目中设置图像?

如何使用 webpack 在项目中设置多个文件输入和输出?