У меня есть текстовое поле, которое привязано к свойству (в конечном итоге это много). Свойство является числовым значением. При отображении этого численного значения я хотел бы добавить к нему блок (например, V, mV, C и т. Д.) И, при необходимости, масштабировать его (например, 3200 мВ = 3,2 В). В настоящее время я использую один преобразователь значений и поставляю единицу в качестве параметра преобразователя, однако мне все равно понадобится конвертер для его возврата.C# wpf IValueConverter и атрибуты свойств
Однако то, что я хотел бы сделать, это добавить пользовательский атрибут к свойству с требуемым масштабом и единицей. Что-то вроде этого:
[Unit("mV")]
[Scale(0.1)]
public uint MyProperty
{
get{ return myProperty}
set
{
if(value==myProperty)
return;
myProperty=value;
OnPropertyChanged("MyProperty");
}
}
Однако я не знаю, как это может быть возможным передавать такую информацию в преобразователь (и если это даже возможно)?
Или какие другие возможности могли бы быть выполнены в приятной форме?
Ницца. это фактически отвечает на другой вопрос, который у меня был: как получить тип целевого свойства, когда мне нужно преобразовать обратно. – xnonamex
@xnonamex Мой ответ не завершен, но он должен вести вас в правильном направлении. Ключом является получение информации в объект конвертера значений. Надеюсь, вы знаете, как получить значения атрибута с помощью Reflection. Если нет, я уверен, что вы можете найти ответ на этот вопрос на этом сайте. – helb
Я это выясню в конце концов ... посмотрю. Пока я знаю, в каком направлении думать должно быть хорошо. :) – xnonamex