【发布时间】:2009-11-15 19:33:01
【问题描述】:
我在 WPF 中构建了几个用户控件,它们都被添加到画布中。我想添加一个跟踪当前选定的用户控件的行为。应在以下情况下选择用户控件:
- 鼠标点击它;
- 收到焦点时;
- 当上述两种情况之一发生在用户控件的子控件上时。
有没有办法纯粹通过使用 WPF 的焦点机制来处理这个问题,还是我需要在焦点类的帮助下自己处理这个问题?
我已经阅读了 WPF 中处理焦点的新方法,我面临的问题是键盘焦点决定了当前选择的对象是什么,但我的控件的某些部分无法接收键盘因此即使单击了这些部分,用户控件也不会获得焦点。
我正在寻求有关如何实现此功能以及我可以/应该在多大程度上依赖焦点机制的建议。最后,如果只能选择一个对象,我不介意,但如果它很容易扩展到多选,那么我也不介意。
澄清一下,我知道我可以通过处理大量事件并跟踪状态来手动构建它,但我只是希望有一种更简单的方法可用。
【问题讨论】:
标签: c# wpf user-interface focus