2008-12-08 4 views
0

В попытке научить меня больше о WPF, я пытаюсь создать простое приложение. Там, где я работаю, у нас есть оборудование, имеющее банк из 8 dip-переключателей, используемых для установки адреса от 0 до 255 (как 8-разрядное число). Это простая концепция, которую я хотел бы создать в приложении Windows WPF, которое позволит пользователям видеть настройки dip-переключателя для заданного адреса. Я создал аналогичное приложение в WinForms, которое просто покажет/спрячет фотографии dip-переключателей. Я хотел бы перенести его в WPF и сделать что-то более элегантное.Создание управления DIP-переключателем в WPF

Я сделал несколько простых привязок данных со строками и цифрами, что заставило их отображаться в ярлыках, и я сделал некоторую вводную работу с пользовательскими элементами управления.

Что я хотел бы сделать, это создать пользовательский элемент управления, который имитирует один dip-переключатель, который будет иметь свойство «State», которое будет логическим значением true или false. Затем я смогу разместить 8 из них в моем окне и привязать их к моему коду.

В XAML у меня будет рисунок dip-переключателя, и скользящая часть переместится в положение включения или выключения в зависимости от истинного/ложного значения свойства State. Как только я это выясню, возможно, я смогу анимировать его позже.

На данный момент я ищу концептуальный обзор ... как бы создать это свойство в пользовательском элементе управления и повлиять ли его значение на положение графического переключателя?

Спасибо.

ответ

2

Вы можете легко создать элемент управления микропереключатель, заменив шаблон галку, если вы хотите знать, как создать свой собственный templatable управления читать «Шаблоны для незаурядное управления» Чарльз Петцольд в http://msdn.microsoft.com/en-us/magazine/cc135986.aspx

0

Один из способов сделать это - использовать шаблон управления для настройки внешнего вида класса WPF RadioButton. Код для шаблона управления RadioButton - available on msdn.

Вы должны иметь возможность создать свой собственный UserControl, а затем вставить этот код в узел UserControl.Resources, а затем начать изменять внешний вид RadioButton, сохраняя при этом все его свойства, что должно облегчить его использование как булевский индикатор.

Стиль «Bullet» может быть легко заменен изображениями или векторной графикой переворачиваемых или неперемещенных dip-переключателей.