自定义wpf中切换按钮的切换状态
我想在wpf中自定义切换按钮的切换状态。 我希望在打开按钮时将图像设置为切换按钮,并在关闭时设置另一个图像。 为此,我想到了使用触发器。 这就是我最终做的事情,
... ...
上面的代码段似乎只适用于列表框中的两个项目。 如果多个项具有绑定值,status为true,则它不起作用(仅适用于一个此类项)。 请告诉我,我是否正在朝着正确的方向前进。 还告诉我实现这一目标的其他方法。
这里的问题是因为您正在使用Image
资源。 资源中的Image
是控件的具体实例。 它一次只能在一个地方。 所以当你的列表中有多个项目时……
这应该适合你:
请注意,您可以通过为资源中的每个图像文件使用ImageSource
来提高性能,然后在Image
引用它。 这实际上意味着每个图像仅从磁盘加载一次,而不是2 * N次(其中N是列表中的项目数。)
这个答案对你有帮助。 在那里,我采用了一个ToggleButton并将其设置为TreeView中的ToggleButton(+ / – 部分以展开折叠节点)。 您只需要更改绘制 – 和+符号的路径,以显示图像。
这里给你个性化,只需在你的C:目录下放一个名为“on.jpg”的图像和另一个名为“off.jpg”的图像,它应该只需复制/粘贴到你的窗口即可:
这是一个带有3个图像和弹出窗口的ToggleButton:
- IsChecked = false时的图像。
- IsChecked = true时的图像。
- IsMouseOver = true时的图像。
图像作为BitmapImage存储在资源中,以避免更改triges上的Visual。
必须将图像文件添加到资源中,然后,添加到项目中“Resoruces”文件夹的文件必须标记为BuildAction = Resource 。
当ToggleButton IsEnabled = false时,它还对Image控件应用不透明度;
码:
就像Drew Noakes所说,在我的snippte中只有两张图片。 所以只有两个项目正常运作。 我用以下代码解决了这个问题。
很简单,我将触发器移动到数据模板中。 不知道这是你的正确答案。 似乎工作
上述就是C#学习教程:自定义wpf中切换按钮的切换状态分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1006969.html