WPF中tabControl如何切换TabItem
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF中tabControl如何切换TabItem相关的知识,希望对你有一定的参考价值。
我用xaml里建立了一个TabContral,TabConral里面有三个TabItem,然后监听TabControl的SelectionChaged事件,但是运行起来后,点击其他页根本不切换,我打断点发现除了刚运行时触发selectionchaged实践,以后单击其他页根本不触发,求高手指导这个是怎回事?
参考技术A 我试过了是要触发的呀。追问怎触发,能来段完整点的代码不?
追答你说你的代码吧。
参考技术B 需要触发才行,具体代码可以上CSDN上查找。如何将自定义控件派生的 TabItem 添加到 WPF 中的 TabControl?
【中文标题】如何将自定义控件派生的 TabItem 添加到 WPF 中的 TabControl?【英文标题】:How to add custom-control-derived TabItem to TabControl in WPF? 【发布时间】:2011-01-28 05:15:21 【问题描述】:我想拥有自己的基本 TabItem 类并使用派生自它的其他类。
我在 MyNs 命名空间中这样定义基类:
public class MyCustomTab : TabItem
static MyCustomTab()
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyCustomTab), new FrameworkPropertyMetadata(typeof(TabItem)));
这就是我为继承它的类所做的:
MyNs 命名空间中的代码隐藏:
public partial class ActualTab : MyCustomTab
public ActualTab()
InitializeComponent();
XAML:
<MyCustomTab x:Class="MyNs.ActualTab"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
</Grid>
</MyCustomTab>
我得到的错误是“XML 命名空间'http://schemas.microsoft.com/winfx/2006/xaml/presentation'中不存在标签'MyCustomTab'”。如果我在 XAML 中使用 TabItem
标记,则错误表示无法定义不同的基类。
如何解决这个问题?
【问题讨论】:
【参考方案1】:好吧,我傻了,应该是这样
<MyNs:MyCustomTab x:Class="MyNs.ActualTab"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:MyNs="clr-namespace:MyNs">
<Grid>
</Grid>
</MyNs:MyCustomTab>
【讨论】:
以上是关于WPF中tabControl如何切换TabItem的主要内容,如果未能解决你的问题,请参考以下文章
WPF Adorner 在TabControl切换TabItem时消失
如何将自定义控件派生的 TabItem 添加到 WPF 中的 TabControl?
wpf中TabControl的TabItem如何平分宽度,让他平均分布在整个面板中
放置在 tabcontrol 的第二个 tabitem 中的数据网格的 WPF-'Index out of Range' 错误(但如果放置在第一个 tabitem 中,它工作正常)