xamlparseexception 当我尝试使用 notifyicon 时

xamlparseexception when i tried to use notifyicon

提问人:jaroslavbobek2003probtmp 提问时间:3/28/2023 最后编辑:jaroslavbobek2003probtmp 更新时间:3/29/2023 访问量:45

问:

所以我一直在尝试使用硬码 wpfnotifyicon,但是当程序到达 mainwindow 的 InitializeComponent 时,我收到此异常

System.Windows.Markup.XamlParseException
  HResult=0x80131501
  Message=Nastavení vlastnosti Hardcodet.Wpf.TaskbarNotification.TaskbarIcon.IconSource vyvolalo výjimku. Číslo řádku 13 a pozice na řádku 10.
  Source=PresentationFramework
  StackTrace:
   at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
   at clipboardDialer.MainWindow.InitializeComponent() in C:\Users\STUDENT\Source\Repos\clipboardDialer\clipboardDialer\MainWindow.xaml:line 1

  This exception was originally thrown at this call stack:
    [External Code]

Inner Exception 1:
ArgumentException: The supplied image source 'pack://application:,,,/rsrc/settingsIcon.ico' could not be resolved.

这是主窗口的 XAML,请注意,我不会收到任何错误

<Window x:Class="clipboardDialer.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:clipboardDialer"
        xmlns:tb="http://www.hardcodet.net/taskbar"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800" MinWidth="640" MinHeight="190"
        ShowInTaskbar="False" Visibility="Hidden">

    <Grid>
        <tb:TaskbarIcon IconSource="C:\Users\STUDENT\Source\Repos\clipboardDialer\clipboardDialer\rsrc\settingsIcon.png">
            <tb:TaskbarIcon.TrayToolTip>
                <Border
            BorderThickness="2"
            CornerRadius="4"
            Opacity="0.8"
            Width="160"
            Height="40">
                    <Border.Background>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                            <GradientStop Color="#FFBDBDBD" Offset="0"/>
                            <GradientStop Offset="1"/>
                            <GradientStop Color="#FFAFAFAF" Offset="0.797"/>
                            <GradientStop Color="#FFF6F6F6" Offset="0.503"/>
                        </LinearGradientBrush>
                    </Border.Background>
                    <TextBlock
                Text="hello world"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                />
                </Border>
            </tb:TaskbarIcon.TrayToolTip>

        </tb:TaskbarIcon>
    </Grid>
</Window>

(是的,我知道我应该使用相对路径,但这只是在那里,所以我可以发现 rsrc 文件夹不是它应该在的地方不是问题)

我还尝试将ICO的构建操作设置为资源,但异常仍然存在

WPF 异常

评论

0赞 Kevin Cook 3/28/2023
您是否将settingsIcon.ico文件生成操作标记为资源?
0赞 jaroslavbobek2003probtmp 3/29/2023
@KevinCook什么?我该怎么做?我以前从未听说过

答: 暂无答案