Я не могу связать источник изображения - PullRequest
0 голосов
/ 14 декабря 2011

Вот привязка:

<Image Width="16" Height="16"  Source="{Binding SwitchForImage, Converter={StaticResource stringToImage}}" HorizontalAlignment="Left">
</Image>

, а вот конвертер

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        string type = (string)value;
        BitmapImage logo = new BitmapImage();
        logo.BeginInit();
        logo.UriSource = new Uri(@"pack://application:,,,/Resources/"+type+@"Icon.png");
        logo.EndInit();
        return logo;
    }

, когда я запускаю, выдает это исключение "Не удается найти ресурс" resources / * icon.png '"Но я помещаю файлы png в папку с именем Resources.I создаю библиотеку. Все это в библиотеке. Для тестирования я использовал ее, а затем возникла эта проблема.

Я добавил файлы png как «include to project».Действие сборки - это «Контент». Но я тоже пробовал другие (Ресурс, Встроенный ресурс)

[Ответ] Я изменил Действие сборки на Ресурс и изменил Преобразование так:

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return "/AutoComplete;component/Resources/" + (string)value + "Icon.png";
    }

И всеработать нормально.

1 Ответ

0 голосов
/ 21 декабря 2011

Я изменил Build Action на Resource и изменил метод Convert следующим образом:

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    return "/AutoComplete;component/Resources/" + (string)value + "Icon.png";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...