循环进度按钮WPF / C#自定义控件

时间:2015-10-15 19:45:35

标签: c# wpf xaml wpf-controls

我想在我的WPF窗口应用程序中创建一个主要是圆形按钮的按钮。我已经在网上找到了很多教程,使用了很多不同的方法,比如模板和样式,这样我才能弄明白。

问题是我想要自定义控件(这是我想我想要的,因为根据我的理解仅仅样式不会让我修改按钮的核心功能而用户控件是更多组已经完成的控件)因为我想要什么是部分按钮和部分进度条。我希望它是一个圆形按钮,按钮的周边有一个灰色条带,几个像素厚,当我按住按钮时,我可以在灰色周边周围开始一个圆形蓝色条带,当蓝色到达顶部后革命某些事件可能会在代码中被触发。

我一直在尝试在线查找内容,但似乎有很多关于如何制作自定义WPF控件的脱节和混乱的教程。有些用于表达混合,它与2015视觉工作室社区安装的混合完全不匹配所以我只是彻底迷茫,并希望有人可以指出我正确的方向。提前谢谢!

2 个答案:

答案 0 :(得分:2)

您可以轻松自定义常规按钮或切换按钮:

  1. 在VS中打开项目
  2. 右键单击要编辑的解决方案资源管理器中的xaml
  3. 点击“Design in Blend”
  4. 选择资产标签
  5. 在控件中找到“按钮”并将其拖到页面
  6. 右键单击页面上的按钮
  7. 修改模板 - >编辑副本 - >行
  8. 对象和时间线标签 - >右键单击边框 - >更改布局类型 - >画布
  9. 从属性标签中的画布中删除背景
  10. 从Assets-> Shapes
  11. 拖动elipsis
  12. 调整elipsis尺寸
  13. 转到状态标签 - >选择“按下”
  14. 更改处于按下状态的省略号的颜色
  15. ......继续。

答案 1 :(得分:0)

您不必 需要自定义控件。您可以使用带有圆形按钮的UserControl,并在按钮边缘上覆盖圆形路径。最初将Path对象的可见性设置为false,当您在按钮上检测到左键单击事件时,使该圆形路径可见并在其上开始旋转变换动画。你应该能够扩展它以在你想要时停止动画;您的描述并未完全描述您希望停止的方式。

希望这有帮助!