Привет ТАК, так что у меня есть пользовательский элемент управления в Silverlight.Неважно, что это такое, но это большая сложная вещь с древовидной структурой, ползунком и другим мусором.
Теперь в элементе управления есть переменная экземпляра, которая называется defaultTemplate.Он имеет тип DataTemplate.По сути, это шаблон, который TreeViewItem использует в качестве шаблона заголовка, если разработчик приложения не вызывает myControl.setTemplate (DataTemplate dt);
Просто сделав свойство общедоступным и предоставив ему методы получения и установки, оно отображается в intellisense, когдаЯ набираю следующее ...
<myNamespace:myControl x:Name="theControl" defa
Intellisense обнаруживает тот факт, что у моего класса есть свойство defaultTemplate, и оно перечисляет его в качестве опции.
Что бы я хотел:
Я хотел бы, чтобы вышеуказанные функции продолжались, но добавили функциональность для intellisense для автоматического перечисления опций для значений.Итак, у меня есть эти шаблоны данных, определенные в словаре ресурсов, к которому имеет доступ элемент управления.Я хочу, чтобы они появлялись в качестве параметров, когда я добираюсь до этой части набора:
<myNamespace:myControl x:Name="theControl" defaultTemplate="_"
Функциональность, которую я ищу, может быть найдена в свойстве TextBlock foreground.Когда вы наберете
foreground=""
, вы начнете перечислять цвета для выбора.Я был бы согласен с определением констант в качестве имен шаблонов данных и возможностью выбора intellisense из тех или чего-то подобного.
Как я могу добиться этого?Спасибо!
Пояснение Править: Мне нужно, чтобы intellisense знал о списке констант, которые являются допустимыми входными данными для свойства xaml.Так что мое свойство defaultTemplate может быть просто строкой.Я разберусь с тем, что означает эта строка в моем коде.Но мне нужно intellisense, чтобы знать, какие строки можно ввести для этого свойства в XAML.Цвет переднего плана после ввода кавычки выскакивает список в intellisense, который похож на «Azure, Beige ... LemonChiffon ... и т. Д.»Как мне предоставить intellisense с этим списком?Спасибо!
Окончательное редактирование: Благодаря siege898 теперь я могу выбирать свои значения для defaultTemplate из списка, который мне предоставляет intellisense.Однако я также хотел бы иметь возможность предоставить разработчику приложения (который использует мой элемент управления) возможность определить собственный шаблон данных и указать его имя.
Так, например, Боб использует мой элемент управленияв своем заявлении.Ни один из предоставленных мной шаблонов не подходит для него.Поэтому Боб создает в словаре ресурсов шаблон данных для своего приложения, который называется bobTemplate.Я хотел бы, чтобы Боб смог войти в поле defaultTemplate в xaml defaultTemplate="bobTemplate"
и не выдавать ошибку.Я полагаю, что проблема, с которой я столкнулся сейчас, заключается в том, что поле ожидает значения в моем перечислении.Кто-нибудь знает, как я могу настроить это, чтобы оба дать мне выпадающий список, сгенерированный из enum, но все же принимать пользовательские строки? Я думал о преобразователе типов, но я не уверен, как использовать его для того, что я хочу ...