保留焦点 - 或焦点样式 - 在WPF MVVM中的按钮上

时间:2016-03-21 14:30:33

标签: wpf xaml mvvm

我觉得这应该是一个简单的问题,但似乎不是。

我有一个WPF TreeView,它由按钮组成:

<TreeView ItemsSource="{Binding Categories}" Tag="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}">
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource="{Binding ChildCategories}">
            <Button 
                Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.ViewDocumentsCommand}" 
                            CommandParameter="{Binding}" 
                            Style="{DynamicResource TreeButton}"
                            Content="{Binding Description}" />
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

Button Command将数据加载到WPF表单上的另一个控件中。一旦用户点击该控件的内容,按钮就会失去焦点。但是,我希望Button保留焦点样式,以便用户知道哪个是他们点击的最后一个按钮。

我已尝试使用InactiveSelectionHighlightBrushKey,但据我所知,这对按钮无效。我怎么能这样做呢?

编辑:要求上下文。实际上,我已经使用TreeView制作了一个迷你版的Windows资源管理器。每个节点对应一个文件夹,您可以使用展开/折叠按钮显示子文件夹。通过ContextMenu右键单击树中所需的位置来创建子文件夹。单击该文件夹以查看树旁边的文件列表。单击文件会导致文件夹失去焦点,因此用户无法分辨他们所在的“文件夹”。

0 个答案:

没有答案