如何重新排列出现在任务栏中的应用程序的缩略图?

How to re-order the thumbnails for an application that appear in the taskbar?

假设您在一个应用程序中有多个 windows,并且它们都设置为显示在任务栏中。将鼠标悬停在应用程序的图标上会生成一组缩略图,每个缩略图 window。如果有足够的 windows,Windows 7 将其切换为 windows 的高大可滚动列表(按名称)。

我想以编程方式重新排序此 "thumbnail" 列表,因为有一个 window 我想排在列表顶部的第二位。我该怎么做?

请注意,我无法更改 windows 的创建顺序(这是一种解决方案,但不幸的是我无法利用)。

嗯,事实证明这很简单,我错了。

您需要做的就是将要重新排序的所有 Window 个对象设置 ShowInTaskbarfalse。然后按照您希望 windows 出现的确切顺序将其设置回 true。 无需重新创建 Window 对象。

就我而言,在重新排序期间,windows 闪烁了一次。这可能与我当前的 GFX 驱动程序有关。

注意:经过测试并使用 Windows 7 和 Windows 10。

示例:

using System.Windows;

namespace WpfApp1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        Window winA = new Window();
        Window winB = new Window();
        Window winC = new Window();

        public MainWindow()
        {
            InitializeComponent();

            winA.Title = "A";    
            winB.Title = "B";
            winC.Title = "C";

            winB.Show();
            winA.Show();
            winC.Show();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            winB.ShowInTaskbar = false;
            winA.ShowInTaskbar = false;
            winC.ShowInTaskbar = false;

            winA.ShowInTaskbar = true;
            winB.ShowInTaskbar = true;
            winC.ShowInTaskbar = true;

        }
    }
}