atigyo Ответов: 0

Различные типы данных как 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

Спасибо!

0 Ответов