none
Проблема со ссылкой на ресурсы сборки в коде (WPF - VB) RRS feed

  • Вопрос

  • Есть ряд картинок определенных как ресурсы сборки. При установке свойств source с относительным URI в XAML все работает прекрасно, а вот из кода возникает ошибка "Не найдена часть пути..."

    Пример: в XAML - <Window x:Class="MainWindow" ... Icon="/Pict/11.png">

    все работает шикарно, а вот в коде -

    Dim NotifyInfo As New System.Windows.Forms.NotifyIcon
    NotifyInfo.Icon = New System.Drawing.Icon(New BitmapImage(New Uri("/Pict/11.png", UriKind.Relative)).StreamSource)
    

     

    генерит ошибку: Не удалось найти часть пути.... "C:\Pict\11.png"

     

    Откровенно говоря не знаю что делать и как поступить...


    30 марта 2011 г. 14:48
    Отвечающий

Ответы

  • Действительно, не работает. У меня Background получилось вставить из кода вот так:

    Background = new ImageBrush(new BitmapImage(new Uri("pack://application:,,,/Bg.png", UriKind.Absolute)));
    

     



    • Помечено в качестве ответа LXGDARKEditor 31 марта 2011 г. 16:24
    31 марта 2011 г. 15:11
    Отвечающий

Все ответы

  • Попробуйте вот так: new Uri("MyAssemblyName;component/Pict/11.jpg", UriKind.Relative)
    31 марта 2011 г. 8:09
    Отвечающий
  • Нет, так тоже не работает. Примечательно, что если поступить вот так:

    Dim img As New Image
    img.Source = New BitmapImage(New Uri("/Pict/11.png", UriKind.Relative))

    то все работает, а в других случаях выдает эту ошибку?! Например пробовал еще вот так (та же ошибка):

    Me.Bacground = new ImageBrush (New BitmapImage(New Uri("/Pict/11.png", UriKind.Relative)))
    
    31 марта 2011 г. 12:31
    Отвечающий
  • Действительно, не работает. У меня Background получилось вставить из кода вот так:

    Background = new ImageBrush(new BitmapImage(new Uri("pack://application:,,,/Bg.png", UriKind.Absolute)));
    

     



    • Помечено в качестве ответа LXGDARKEditor 31 марта 2011 г. 16:24
    31 марта 2011 г. 15:11
    Отвечающий
  • Мутное дело эти URI

    Вы мне помогли! Спасибо!!

    31 марта 2011 г. 16:24
    Отвечающий