在WPF中创建DIP开关控件

时间:2008-12-08 20:01:24

标签: wpf xaml user-controls properties

为了更多地了解WPF,我正在尝试构建一个简单的应用程序。在我工作的地方,我们有一些硬件,它有一组8个DIP开关,用于设置0到255之间的地址(作为8位数字)。这是一个简单的概念,我想构建一个WPF窗口应用程序,允许用户查看给定地址的拨码开关设置。我在WinForms中构建了一个类似的应用程序,它只是显示/隐藏dip开关的图片。我想将它移植到WPF并做一些更优雅的事情。

我已经使用字符串和数字进行了一些简单的数据绑定,使它们显示在标签中,我已经完成了一些用户控件的介绍性工作。

我想要做的是创建一个模仿单个dip开关的用户控件,它具有一个布尔值为true或false的“State”属性。然后我可以将其中的8个放在我的窗口中并将它们绑定到我的代码中。

在XAML中,我将绘制一个dip开关,滑动部分将根据State属性的true / false值移动到on或off位置。一旦我明白了,也许我可以在以后制作动画。

此时我正在寻找概念性概述......如何在用户控件中创建此属性,并使其值影响图形开关的位置?

感谢。

2 个答案:

答案 0 :(得分:2)

如果您想知道如何创建自己的可模板化控件,可以轻松创建DIP开关控件,请阅读Charles Petzold在http://msdn.microsoft.com/en-us/magazine/cc135986.aspx

答案 1 :(得分:0)

您可以使用控制模板来自定义WPF RadioButton类的外观。 RadioButton控制模板的代码是available on msdn

您应该能够创建自己的UserControl,然后将此代码粘贴到UserControl.Resources节点,然后开始修改RadioButton的外观,同时保持其所有属性,这应该使其易于使用布尔指示符。

“子弹”的样式可以很容易地被翻转或未翻转的拨码开关的图像或矢量图形取代。