有没有简单的方法让ToggleButton显示为普通按钮?我试图点击按钮,它会触发IsEnabled为另一个控件为false。用ToggleButton,我可以在IsChecked属性上做一个触发器。但是切换按钮在切换时会显得非常不同。谢谢。WPF ToggleButton看起来像普通按钮
回答
在WPF设计器中,右键点击相关的ToggleButton并选择Edit Template -> Edit a Copy
。选择适当的设置并单击确定。
ToggleButton的默认模板将被添加到您的XAML中。在那里,删除此代码:
<Trigger Property="IsChecked" Value="true">
<Setter Property="RenderPressed" TargetName="Chrome" Value="true"/>
</Trigger>
您可以重复多的ToggleButtons这种风格/模板。
编辑
您在您的处置另一种选择。使用标准Button
并连接Click
事件处理程序或Command
绑定,该绑定会执行代码以更新IsChecked
属性,例如,
<CheckBox IsChecked="{Binding IsChecked}" IsEnabled="False" Content="State" />
<Button Content="Toggle" Command="{Binding ToggleStateCommand}" />
然后,当然,你的命令只是必须执行
IsChecked = !IsChecked
这一切都假定你有一个ICommand
实现你舒服和你正在做的有点MVVM,但也许这就是有点超出了这个Q/A的范围。
最简单的方法是使ToggleButton
透明,并显示其他内容控件。为内容设置IsHitTestVisible = False
。
也尝试使用保证金值。
<ToggleButton Background="Transparent" BorderBrush="Transparent" BorderThickness="0" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<Button Content="Toggle Button" Margin="-5" IsHitTestVisible="True" />
</ToggleButton>
以上可定制使用切换按钮的内容,如:
<ToggleButton Content="Toggle Button" Background="Transparent" BorderBrush="Transparent" BorderThickness="0" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Canvas.Left="233" Canvas.Top="158">
<ToggleButton.ContentTemplate>
<DataTemplate>
<Button IsHitTestVisible="False" Content="{Binding}"/>
</DataTemplate>
</ToggleButton.ContentTemplate>
</ToggleButton>
此解决方案将鼠标悬停在按钮上时禁用了动画 – Helic
@Helic您可以将动画向下移动到内部按钮。如果你发布你的动画代码,我可以修改我的答案。 – AnjumSKhan
- 1. Bootstrap使文本看起来像按钮
- 2. 链接看起来像提交按钮
- 3. 设置按钮看起来像默认的安卓按钮
- 4. 如何让我的提交按钮看起来不像按钮?
- 5. 黑莓自定义按钮,看起来像默认按钮
- 6. 充分利用FLEX4按钮看起来就像Flex3按钮
- 7. 制作单选按钮看起来像是按钮
- 8. 使默认按钮看起来像正常按钮
- 9. 如何使ToolStripComboBox看起来像一个普通的组合框
- 10. mmenu不能正常工作,看起来像普通的html
- 11. WPF ToggleButton的AutomationElement - 有ClassName按钮
- 12. 我如何让我的网页按钮看起来像Facebook按钮的按钮?
- 13. 使按钮看起来按下
- 14. 制作可可按钮看起来像是按编程方式
- 15. 在Swing中使图像按钮看起来被按下/点击
- 16. 如何使图像看起来像按钮
- 17. WPF:按钮模板w/cornerRadius和斜角看起来不对
- 18. 复选框看起来像Radiobutton WPF
- 19. WPF 3D编辑器看起来像3DSMAX
- 20. 使WPF DataGrid看起来像一个ListView
- 21. 按钮大小看起来不同
- 22. 分享按钮看起来禁用
- 23. 按钮看起来不激活
- 24. 谷歌cse按钮看起来很小
- 25. 如何在iPhone SDK中创建一个看起来像UIActionSheet按钮的按钮?
- 26. 我该如何让药丸按钮看起来像链接?
- 27. div /按钮看起来应该比1像素更宽
- 28. 如何使按钮看起来像一个超链接aspx.net
- 29. 阴影按钮,看起来像梯度的Android XML
- 30. 如何创建UISegmentedControl看起来像相机上的按钮
感谢。有没有一种简单的方法来做到这一点?不想从Button复制样式代码。 – Helic
这很“容易”,而“重复” - 如果你可以这样称呼 - 是最小的。该模板只使用自定义的'ButtonChrome'对象,该对象具有适用当前Windows主题的适当样式。这是我会主张的唯一一种“重复”。也就是说,你对限制滥用的热情是一件好事。 – Guttsy