0

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

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

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

在 XAML 中,我将绘制 DIP 开关,滑动部分将根据 State 属性的真/假值移动到打开或关闭位置。一旦我弄清楚了,也许我可以稍后制作动画。

在这一点上,我正在寻找一个概念概述......我将如何在用户控件中创建这个属性,并让它的值影响图形开关的位置?

谢谢。

4

2 回答 2

2

您可以通过替换 CheckBox 的模板轻松创建 DIP 开关控件,如果您想知道如何创建自己的模板化控件,请阅读 Charles Petzold 在http://msdn.microsoft.com/en上的“Templates for Uncommon Controls” -我们/杂志/cc135986.aspx

于 2008-12-09T09:22:17.977 回答
0

您可以这样做的一种方法是使用控件模板来自定义 WPF RadioButton 类的外观。单选按钮控件模板的代码可在 msdn 上找到

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

“子弹”的样式可以很容易地被翻转或未翻转的 DIP 开关的图像或矢量图形替换。

于 2008-12-08T20:22:24.090 回答