WPF Icon и Uri - PullRequest
       40

WPF Icon и Uri

0 голосов
/ 08 октября 2018

Я пытаюсь загрузить значок, который находится в моем проекте, прямо в главном каталоге.Для этого я делаю это:

Dim uriSrc As Uri = New Uri("pack://ELE100WalkerWPF:,,,/assemblyName;Component/ShowMCF.png")
Dim bitmapImage As BitmapImage = New BitmapImage With {.UriSource = uriSrc}
Dim image As System.Windows.Controls.Image = New System.Windows.Controls.Image() With {.Source = bitmapImage}

Это просто не работает, даже если для моих стилей я ссылаюсь на них таким же образом:

<ResourceDictionary Source="pack://application:,,,/ELE100WalkerWPF;component/Resources/Colors.xaml" />

Единственная разницачто мои стили определены в MergeDictionary в application.xaml следующим образом

<ResourceDictionary Source="Resources/Colors.xaml" />

Может кто-нибудь объяснить, почему изображение не отображается и как я могу решить эту проблему?Заранее спасибо

1 Ответ

0 голосов
/ 08 октября 2018

pack://ELE100WalkerWPF:... не является допустимым Pack URI .

Вы также не можете установить свойство BitmapImage UriSource без вызова BeginInit и EndInit.Используйте конструктор BitmapImage, который принимает аргумент Uri.

При условии, что ShowMCF.png находится в папке верхнего уровня вашего проекта Visual Studio и его действие сборки установлено на Resource, это должно работать:

Dim uri As Uri = New Uri("pack://application:,,,/ShowMCF.png")
Dim bitmapImage As BitmapImage = New BitmapImage(uri)

Если ресурс изображения находится в ссылочной сборке (называемой ELE100WalkerWPF), вы должны включить имя сборки следующим образом:

Dim uri As Uri = New Uri("pack://application:,,,/ELE100WalkerWPF;component/ShowMCF.png")
Dim bitmapImage As BitmapImage = New BitmapImage(uri)
...