首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF Tab_selectionChanged

WPF Tab_selectionChanged
EN

Stack Overflow用户
提问于 2012-12-22 17:42:05
回答 1查看 463关注 0票数 0

我现在正面临着一个奇怪的问题。

我已经创建了一个基于WPF页面导航的WPF应用程序。我有几个按钮,根据按钮的点击,用户被导航到各自的WPF页面。

在这些WPF页面中,我有Tab控件,并使用selectionchanged事件处理程序来执行一些任务。

现在来看问题,

当我试图转到一个特定的页面时,selectionchanged事件也会被执行,甚至在页面完全加载之前,我已经尝试使用windows.loaded (基于对上一个问题的回答-- here) --我没有运气。

我正在使用WPF导航框架

不知怎么的,selectionchanged事件执行了两次。

我如何阻止这种情况的发生?

EN

回答 1

Stack Overflow用户

发布于 2012-12-22 17:52:50

我认为你应该检查一下SelectionChange.AddedItemsSelectionChange.RemovedItems来找出它们之间的区别。我猜当你选择一个页面时,SelectionChange.RemovedItems==0,而当你点击一个tabItem来选择它时,SelectionChange.RemovedItems==1。如果是这样,只需写:

代码语言:javascript
复制
if (SelectionChange.RemovedItems==0)
return;

Edit1:请参阅第一条评论。

编辑2

代码语言:javascript
复制
void tablcontrol_SelectionChange(object sender, SelectionChangedEventArgs e)
{
     if (e.RemovedItems.Count == 0)
     {
          // I guess this is the event that happens when a page is selected
          // in this case just a TabItem is added to the selection 
          // and nothing is removed, so do nothing
          return; 
     }

     // if you are here, it means that this is another selection changed event
     // so Perform those tasks that you mentioned in your question
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14001739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档