WPF 控制焦点与触摸屏监视器和 Windows 10
WPF Control Focus with Touch Screen Monitor and Windows 10
我正在 Visual Studio 2013 年使用 WPF 和 VB.net 开发一个应用程序。此应用程序将在带有触摸屏显示器的计算机上 运行。
我的开发 PC 是 运行ning windows 7,但是要 运行ning 这个应用程序的计算机正在使用 Windows 10。我不知道如果这是 Windows 10 或触摸界面的特定问题。
我遇到的问题是在使用触摸屏显示器时,触摸控件后会突出显示该控件。我不知道如何自动删除此突出显示。我试图将焦点 and/or 设置为 focusable 属性 为 false。阻止突出显示控件的唯一方法是触摸屏幕上的其他位置。
但在 Windows 7 中,我可以使用鼠标更改焦点并将可聚焦 属性 设置为 false;控件根本没有获得焦点。
此程序在没有键盘(物理或虚拟)或鼠标的情况下使用。在我看来,突出显示控件是不可取的。
任何关于如何删除突出显示或完全阻止它的建议将不胜感激。
当光标在它们上面时,所有的按钮都会高亮显示,如果你想你可以禁用高亮显示,但它会一直被禁用。为此,请创建一个自定义样式并将其提供给您的按钮,我给您举个例子:
<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}" />
希望对您有所帮助:)
我正在 Visual Studio 2013 年使用 WPF 和 VB.net 开发一个应用程序。此应用程序将在带有触摸屏显示器的计算机上 运行。
我的开发 PC 是 运行ning windows 7,但是要 运行ning 这个应用程序的计算机正在使用 Windows 10。我不知道如果这是 Windows 10 或触摸界面的特定问题。
我遇到的问题是在使用触摸屏显示器时,触摸控件后会突出显示该控件。我不知道如何自动删除此突出显示。我试图将焦点 and/or 设置为 focusable 属性 为 false。阻止突出显示控件的唯一方法是触摸屏幕上的其他位置。
但在 Windows 7 中,我可以使用鼠标更改焦点并将可聚焦 属性 设置为 false;控件根本没有获得焦点。
此程序在没有键盘(物理或虚拟)或鼠标的情况下使用。在我看来,突出显示控件是不可取的。
任何关于如何删除突出显示或完全阻止它的建议将不胜感激。
当光标在它们上面时,所有的按钮都会高亮显示,如果你想你可以禁用高亮显示,但它会一直被禁用。为此,请创建一个自定义样式并将其提供给您的按钮,我给您举个例子:
<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}" />
希望对您有所帮助:)