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。所以我想知道这个页面切换应该如何触发? 展开
做了一个小程序 我希望点击一个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。所以我想知道这个页面切换应该如何触发? 展开
1个回答
展开全部
就是需要在点击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();
}
我测试过,没有问题的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询