在加载后如何在视图中突出显示聚焦的元素?我知道它是集中的,因为如果按Enter或使用键盘导航,它的行为将达到预期的效果;如果导航回第一个元素,它将正确突出显示。我只想向用户说明加载视图后选择了哪个元素。这是通过按钮或复选框发生的。
答案 0 :(得分:0)
如果控件是焦点元素,则将应用焦点样式。焦点元素与默认元素不同,默认元素可以允许在按下回车键时执行操作。
需要显式设置焦点,在本示例中,它是在下一行完成
FocusManager.FocusedElement="{Binding ElementName=Button}"
这将焦点设置在按钮上,运行此按钮应看到按钮突出显示。删除上面的行,该按钮将不会突出显示。
<Window x:Class="WpfApp4.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FocusManager.FocusedElement="{Binding ElementName=Button}"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<StackPanel>
<Button IsDefault="False"
Width="150"
Height="30"
Name="Button"
Content="Button"/>
</StackPanel>
</Window>
答案 1 :(得分:0)
哇,我完全忘了问这个问题。最后,我必须删除样式上设置的FocusVisualStyle属性,并在IsFocused事件上编写一个简单的触发器,这解决了我的问题。