如何删除WPF(C#)中Expander控件标题的虚线轮廓?
如何删除WPF(C#)中Expander控件标题的虚线轮廓?
我尝试将 FocusVisualStyle 设置为 null 但没有成功。还有其他方法吗?
<UserControl x:Class="MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="373" Width="669">
<Expander FocusVisualStyle="{x:Null}" Expanded="expander1_Expanded" Focusable="False" Foreground="DarkBlue" Header="My Header" Height="219" Name="expander1" Width="525">
.....
How to remove the dotted outline for the header of Expander control in WPF (C#)?
I tried by making FocusVisualStyle to null but no luck. Is there any other approach?
<UserControl x:Class="MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="373" Width="669">
<Expander FocusVisualStyle="{x:Null}" Expanded="expander1_Expanded" Focusable="False" Foreground="DarkBlue" Header="My Header" Height="219" Name="expander1" Width="525">
.....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要对此部分进行更改(请参阅消息底部的完整模板)
此示例制作了较粗的红色描边:
这是 Blend 捕获的扩展器的原始模板 - 它将自动应用于该窗口中的所有扩展器。
You need to make the changes to this part (see the full template at the bottom of message)
This example makes a thicker red stroke:
This is the original template for the expander as captured by Blend - it will automatically apply to all expanders in that window.
尝试不仅更改 Expander 的 FocusVisualStyle,还更改其模板部分的 FocusVisualStyle,例如使用 Blend 更改模板,并查看哪些模板部分也具有焦点样式。
Try to change the FocusVisualStyle not only for Expander but also for it's template parts, e.g. change template using Blend and see what template parts also have focus style.
我也有同样的问题。
对我有用的解决方案是处理
PreviewGotKeyboardFocus
事件I had the same problem.
The solution that worked for me is to handle the
PreviewGotKeyboardFocus
eventOP 不太可能感兴趣,但万一其他人感兴趣……
这是另一种方法。我将遍历可视化树包装在扩展方法中,并将 ToggleButtons 的 FocusVisualStyle 设置为 null。我的应用程序中唯一的切换按钮位于 Expanders 中,但我想如果您愿意,您可以先查找 Expanders。
我在窗口的 Loaded 事件中调用 this.RemoveFocusVisualStyleFromAllExpanders() 。
Unlikely the OP is interested but in case anyone else is...
Here is an alternative approach. I wrapped walking the visual tree in an extension method and set the FocusVisualStyle of ToggleButtons to null. The only ToggleButtons in my application are in Expanders but I guess you could look for Expanders first if you wanted.
I call this.RemoveFocusVisualStyleFromAllExpanders() in the Loaded event of my Window.