【问题标题】:WPF composite Application - tab region - view not getting focusWPF 复合应用程序 - 选项卡区域 - 视图没有获得焦点
【发布时间】:2009-06-05 20:21:39
【问题描述】:

我刚刚开始使用 WPF 的复合应用程序库。在我的 shell 中,我在 tabcontrol 中有一个区域,用于显示不同类型的视图。我还有一个工具栏,其中包含连接到命令的按钮,例如保存。命令绑定在我的视图中,并且视图具有 canExecute 和 execute 方法。

这个想法是,当我单击一个选项卡时,我的工具栏按钮应该根据视图中的方法启用或禁用。问题是当我切换选项卡时,视图没有获得焦点,并且该视图的 canExecute 没有被调用。工具栏按钮保持连接到先前选择的视图中的命令,并以这种方式提醒,直到我真正点击新视图

我现在对如何强制视图获得焦点感到困惑。当标签选择和将焦点设置在那里时,我尝试查看选项卡的内容,但它没有差异。有什么想法吗?

【问题讨论】:

    标签: wpf composite


    【解决方案1】:

    尝试监听View.Loaded 事件,然后在处理程序中调用View.focus()。在元素初始化和加载之前,Wpf 不会接受焦点请求。由于在加载视图之前引发了 SelectionChanged 事件,因此将忽略焦点请求。元素隐藏后每次显示时都会调用loaded事件。


    有关焦点的更多信息,请参阅此博客文章:

    http://www.julmar.com/blog/mark/PermaLink,guid,6e4769e5-a0b3-47b2-a142-6dfefd0c028e.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多