В системе, в которой я работаю, используется большое количество пользовательских типов значений внутри. Я работаю над прототипом пользовательского интерфейса, используя WPF. WPF не знает, как отображать пользовательские типы. Я знаю, что могу написать собственный ValueConverter для этого, но я действительно не хочу указывать использование конвертера каждый раз, когда я привязываюсь к классу в своем XAML.Отображение пользовательского типа значений в WPF без использования преобразователя значений
Есть ли интерфейс, который я могу реализовать в пользовательском типе значений, который позволит WPF знать, как отображать его изначально?
Или есть способ, которым я могу указать конвертер значений на уровне приложения, который будет применяться к любому экземпляру нашего пользовательского типа, без необходимости указывать ValueConveter в каждом обязательном выражении?
** Это плохая идея и плохое решение проблемы. ** Вместо этого вы должны использовать по умолчанию 'DataTemplate' в своих' App.xaml' или 'Themes/Generic.xaml'. Templating - это то, что делает WPF мощным: один и тот же объект может выглядеть по-разному в разных частях вашего приложения или в другом приложении, и вы получаете четкое разделение между вашим уровнем данных и вашим пользовательским интерфейсом. Основополагающим принципом хорошего дизайна WPF является то, что ваш уровень данных не должен ничего знать о пользовательском интерфейсе. Для этого есть много веских причин. Использование TypeConverter, который знает о пользовательском интерфейсе, серьезно нарушает этот принцип. –
@ Ray Burns: решения идеально подходят для пользовательских типов значений - например, у меня есть пользовательские строковые, десятичные и логические типы, облегчающие преобразование и доступ к базе данных –