我创建按钮的列表框项目。 使用键盘快捷键,所选择的项目/按钮将被变化到按钮其中第一个字符与所按下的键相同。 问题是所关注项(虚线矩形)将不与所选项目同步。 如果我们使用键盘上的箭头这个问题不存在。 短路的代码是:
<ListBox x:Name="ListBoxRef"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
DataContext="{Binding Path=ListViewSource}" IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Tag="{Binding}" IsTabStop="False"
Command="{Binding ElementName=UserControlTypeSelectionView, Path=DataContext.SelectCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource Self}}">
<Button.Template>
<ControlTemplate>
<TextBlock Text="{Binding Path=Name}" />
</ControlTemplate>
</Button.Template>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ListBox>
在你如何编程方式设置焦点在已经具有焦点WPF ListBox中的SelectedItem? ,该解决方案是使用聚焦的方法和在C#侧。
是否有可能在MVVM只使用XAML?