我正在使用Visual Studio 2013中的WPF和VB.net开发应用程序。此应用程序将在带有触摸屏监视器的计算机上运行。
我的开发PC正在运行Windows 7,但运行此应用程序的计算机使用的是Windows 10.我不知道这是否是Windows 10或触摸界面的特定问题。
我遇到的问题是使用触摸屏显示器时,触摸控件后会突出显示控件。我无法弄清楚如何自动删除此突出显示。我试图改变焦点和/或将focusable属性设置为false。阻止控件突出显示的唯一方法是触摸屏幕上的其他位置。
但在使用鼠标的Windows 7中,我可以更改焦点并将focusable属性设置为false;控件根本没有得到关注。
此程序在没有键盘(物理或虚拟)或鼠标的情况下使用。在我看来,强调控制是不可取的。
任何有关如何删除突出显示或完全阻止它的建议都将非常感激。
答案 0 :(得分:1)
当光标在它们上面时,所有按钮都是高亮度的,如果你想要你可以禁用高光,但它总是会被禁用。为此,创建一个自定义样式并将其提供给您的按钮,我举个例子:
<Window.Resources>
<Style x:Key="CloseButtonStyle" TargetType="Button">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Margin" Value="5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Name="border"
BorderThickness="1"
Padding="4,2"
BorderBrush="Transparent"
Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="Background" Value="Red" />
<Setter TargetName="border" Property="BorderBrush" Value="Transparent" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
这段代码删除按钮的突出显示,当您使用光标输入时,将背景更改为红色。要将其添加到按钮,请执行以下操作:
<Button x:Name="CloseButton" Style="{StaticResource CloseButtonStyle}" />
希望有所帮助:)