Я создал собственный элемент управления, содержащий одно общее свойство зависимости строк:
Код: Выделить всё
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)));
}
}
}
Код: Выделить всё
Код: Выделить всё
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();
}
}
}
Код: Выделить всё
Однако дизайнер не показывает изображение, и я получаю ошибку Intellisense:
XDG0066: Невозможно найти ресурс «alenheadshot.png»
Я пытался понять, что я делаю неправильно, и сколько бы я ни искал в Google или не пытался Чтобы что-то изменить, я не могу понять, почему я получаю эту ошибку и как заставить дизайнера правильно искать ресурс.
Может ли кто-нибудь увидеть, что я делаю неправильно? Я ценю помощь.
Подробнее здесь: https://stackoverflow.com/questions/798 ... f-designer
Мобильная версия