c# - WPF TabControl 如何在鼠标向上而不是鼠标向下时更改 Tab?

标签 c# wpf tabcontrol

在 WPF TabControl 中,默认行为是在按下鼠标时更改选定的选项卡。

在我的应用程序中,更改选项卡有时会调整大小,有时会在另一个用户控件上调用鼠标弹起事件,因为选项卡控件已移动。

如果我可以将标签页设置为仅在鼠标松开而不是鼠标按下时切换,这将解决问题。

最佳答案

您可以像这样使用自定义 TabItem:

public class MyTabItem : TabItem {

    protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) {
        if (e.Source == this || !this.IsSelected)
            return;

        base.OnMouseLeftButtonDown(e);
    }

    protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) {
        if (e.Source == this || !this.IsSelected)
            base.OnMouseLeftButtonDown(e); // OR just this.Focus(); OR this.IsSeleded = true;

        base.OnMouseLeftButtonUp(e);
    }
}

关于c# - WPF TabControl 如何在鼠标向上而不是鼠标向下时更改 Tab?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6205361/

相关文章:

c# - 使用LINQ获取具有属性=另一个对象属性的对象

c# - WPF slider 问题

wpf - 将 ObservableCollection 绑定(bind)到 WPF ListBox

wpf - 如何使用自定义颜色

wpf - TabItem 内的 TabControl

c# - get_SynonymInfo 某些词抛出内存不足异常

c# - WinForm DataBinding 业务对象 C# .NET 中的隐藏属性

.net - VB.Net 自定义控件

vb.net - 如何为 Windows 窗体 TabControl 设置键盘快捷键?

c# - 将 Office 2010 Web 应用程序与 ASP.NET 结合使用