具有多个图标的WPF应用程序

时间:2019-12-31 06:55:52

标签: wpf windows icons

我试图通过以下步骤制作带有闪烁图标的WPF应用程序:

  1. 在项目属性中将Icon1.ico设置为应用程序图标
  2. 创建DispatcherTimer
  3. 向DispatcherTimer添加功能
  4. 在功能中检查图标名称并进行更改

代码是这样的

private void ToggleIconVisibility(object sender, EventArgs e)
    {
        if (((BitmapImage)Icon).UriSource.OriginalString.CompareTo("Icon1.ico") == 0)
        {
            Icon = new BitmapImage(new Uri("Icon2.ico", UriKind.RelativeOrAbsolute));
        }
        else
        {
            Icon = new BitmapImage(new Uri("Icon1.ico", UriKind.RelativeOrAbsolute));
        }
    }

当我在Visual Studio中运行它时效果很好,但是发布应用程序后找不到Icon2并崩溃了。这两个图标文件都位于项目的根文件夹中。 如果有人可以帮助我,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我不知道您期望的图标是什么,或者您还拥有其他代码。

当我只是在应用程序中设置了对我的代码不起作用的图标时。

因此,我在标志中添加了一个int,该图标应为当前图标。

我将两个图标文件设置为内​​容,如果较新则进行复制。

这意味着它们与exe一起复制。

然后此代码对我有用:

    private int currentIcon = 1;
    private void Button_Click(object sender, RoutedEventArgs e)
    {
        if (currentIcon ==1 )
        {
            Icon = new BitmapImage(new Uri("Icon2.ico", UriKind.RelativeOrAbsolute));
            currentIcon = 2;
            return;
        }

        Icon = new BitmapImage(new Uri("Icon1.ico", UriKind.RelativeOrAbsolute));
        currentIcon = 1;
    }