Различные типы данных как dependencyproperty в пользовательском элементе управления WPF
Я пытаюсь создать пользовательский элемент управления, в этом пользовательском элементе управления я хочу дать возможность привязать тип данных uint, int и float в качестве свойства и хочу установить это свойство в xaml.Как я могу это сделать?
Пожалуйста, Уступите дорогу.
Что я уже пробовал:
public static readonly DependencyProperty CustDatatypeProperty = DependencyProperty.Register("DataTypeValue", typeof(whatshoulIgiveHere), typeof(RangeControl), new UIPropertyMetadata(null)); public whatType DataTypeValue { get { return (whatType )GetValue(CustDatatypeProperty ); } set { SetValue(CustDatatypeProperty , value); } }
LLLLGGGG
uint,int и float могут быть неявно приведены к double... Поэтому, если вам не нужно использовать большие целочисленные значения, используйте double, и все будет в порядке...
atigyo
Спасибо.это можно сделать, но что делать, если я хочу дать другие типы данных?Мне это любопытно.
LLLLGGGG
Вы могли бы написать простой класс, например
public class MysteriousType{object o;Type t;}а затем приведите o к типу t... это работает, но это ужасное решение.Лучше всего было бы написать классы в иерархии с использованием наследования и передать экземпляр базового класса. Затем с помощью оператора is вы можете справиться со всем остальным.
atigyo
спасибо,я попробую.Не могли бы вы сказать об этом поподробнее?
atigyo
спасибо,
После этого я создал перечисление типов данных и сделал TryParse, чтобы получить желаемый результат.
Graeme_Grant
Существует тонна полезной информации, которую можно найти с помощью поиска Google... Вот один пример: DependencyProperty | Результаты поиска | 2000 вещей, которые вы должны знать о WPF[^]
atigyo
Спасибо!