为了自学更多关于WPF的知识,我正在尝试构建一个简单的应用程序。在我工作的地方,我们有一些硬件,它有一组8个dip开关,用于设置从0到255的地址(作为8位数字)。这是一个简单的概念,我想构建到一个WPF窗口应用程序中,允许用户查看给定地址的dip开关设置。我在WinForms中构建了一个类似的应用程序,可以简单地显示/隐藏dip开关的图片。我想把它移植到WPF上,做一些更优雅的事情。
我用字符串和数字做了一些简单的数据绑定,使它们显示在标签中,我还用用户控件做了一些介绍性的工作。
我想要做的是创建一个模拟单个dip开关的用户控件,它将有一个"State“属性,该属性将是布尔值true或false。然后我可以在我的窗口中放置其中的8个,并将它们绑定到我的代码中。
在XAML中,我有一个dip开关的图形,滑动部分将根据State属性的true/false值移动到on或off位置。一旦我弄清楚了这一点,也许我可以稍后再制作它的动画。
在这一点上,我正在寻找一个概念性的概述。如何在用户控件中创建此属性,并使其值影响图形开关的位置?
谢谢。
发布于 2008-12-09 09:22:18
如果您想知道如何创建自己的可模板控件,可以通过替换CheckBox的模板轻松地创建一个DIP开关控件,请阅读http://msdn.microsoft.com/en-us/magazine/cc135986.aspx的Charles Petzold的"Templates for Uncommon Controls“
发布于 2008-12-08 20:22:24
执行此操作的一种方法是使用“控件”模板来自定义WPF RadioButton类的外观。RadioButton控件模板的代码为available on msdn。
您应该能够创建自己的UserControl,然后将此代码粘贴到UserControl.Resources节点中,然后开始修改RadioButton的外观,同时维护其所有属性,这将使其易于用作布尔指示器。
翻转或非翻转dip开关的图像或矢量图形可以很容易地替换“子弹头”的样式。
https://stackoverflow.com/questions/350686
复制相似问题