C# WPF TabControl页面切换不过去

没多少分希望大家不要介意。做了一个小程序我希望点击一个TextBlock的时候可以把TabControl的页面切换到下一个,简化版的代码如下:publicvoidclic... 没多少分 希望大家不要介意。

做了一个小程序 我希望点击一个TextBlock的时候可以把TabControl的页面切换到下一个,简化版的代码如下:
public void clickTbUnit(object sender, MouseButtonEventArgs e)
{
………………
TabMenu.SelectedItem = UnitTab;
MessageBox.Show(“aaaaaa”);
}

aaaaaa可以显示出来,并且MessageBox显示的时候,有切换到我这个叫UnitTab的页面,但是关掉MessageBox,页面又跳回去。

但是,如果我把这段代码TabMenu.SelectedItem = UnitTab放到一个Button触发的事件中,就可以切换到这个UnitTab页面而不跳回,比如:
private void clickBtnTab(object sender, RoutedEventArgs e)
{
………………
TabMenu.SelectedItem = UnitTab;
}

我猜和这个RoutedEventArgs有关系,但是我不能把第一个代码改成RoutedEventArgs,因为我需要点击一段TextBlock。所以我想知道这个页面切换应该如何触发?
展开
 我来答
zhouxiang_1216
2014-09-13 · TA获得超过2591个赞
知道大有可为答主
回答量:1286
采纳率:33%
帮助的人:1380万
展开全部
就是需要在点击TextBlock时切换到对应或是指定的页面?是这样吧?请补充或是追问,我上传示例多次失败,确认是这样的问题就直接在这里写代码,希望对你有帮助,有疑问请追问或是Hi
追问
对没错 就是这样。可是我不明白为什么它会自己跳回去 明明已经执行了
追答
直接写一个方法,将TextBlock控件的MouseLeftButtonDown事件绑定到此方法就可以了,此示例就是根据所点击的TextBlock控件的文本,TabConstrol切换到Header属性与其相同的TabItem上:
void TextBlockClick(object sender, MouseButtonEventArgs e)
{
foreach (TabItem item in this.tabControl.Items)
if (item.Header.ToString() == (sender as TextBlock).Text)
item.Focus();
}
我测试过,没有问题的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式