Невозможно отобразить ресурс PNG в дизайнере Visual Studio WPF.C#

Место общения программистов C#
Ответить
Anonymous
 Невозможно отобразить ресурс PNG в дизайнере Visual Studio WPF.

Сообщение Anonymous »

Я создал простую программу для воспроизведения этой проблемы.
Я создал собственный элемент управления, содержащий одно общее свойство зависимости строк:

Код: Выделить всё

using System.Windows;
using System.Windows.Controls;

namespace Test
{
internal class CustomControl1 : Control
{
internal string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}

internal static readonly DependencyProperty TextProperty =
DependencyProperty.Register("Text", typeof(string), typeof(CustomControl1), new PropertyMetadata(string.Empty));

static CustomControl1()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomControl1), new FrameworkPropertyMetadata(typeof(CustomControl1)));
}
}
}
В моем generic.xaml я разработал базовую структуру элемента управления, который пытаюсь создать. В моей реальной программе у меня есть несколько других свойств, и я разработал кнопку, чтобы она выглядела и работала лучше, но это элемент управления, ограниченный конкретными элементами, которые, похоже, не работают в дизайнере. И, наконец, у меня есть IValueConverter, который обрабатывает место, где программа должна найти изображение:

Код: Выделить всё

using System.Globalization;
using System.Windows.Data;
using System.Windows.Media.Imaging;

namespace Test
{
internal class TextToImageSourceConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string name = (string)value;
name = name.ToLower();
string path = "pack://application:,,,/" + name + "headshot.png";
Uri uri = new(path, UriKind.Absolute);
BitmapImage result = new(uri);
return result;
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
Если я создам объект CustomControl1 в своем xaml следующим образом: И установите alenheadshot.png в качестве ресурса в обозревателе решений, при сборке не возникнет проблем с поиском файла .png и его отображением при запуске отладчика. Ни в этой упрощенной программе, ни в полной версии программы.
Однако дизайнер не показывает изображение, и я получаю ошибку Intellisense:

XDG0066: Невозможно найти ресурс «alenheadshot.png»

Я пытался понять, что я делаю неправильно, и сколько бы я ни искал в Google или не пытался Чтобы что-то изменить, я не могу понять, почему я получаю эту ошибку и как заставить дизайнера правильно искать ресурс.
Может ли кто-нибудь увидеть, что я делаю неправильно? Я ценю помощь.

Подробнее здесь: https://stackoverflow.com/questions/798 ... f-designer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»