按下Alt键时,在按钮上显示快捷键提示,就像功能区/菜单一样

时间:2014-07-17 16:18:26

标签: c# wpf mvvm access-keys

我正在使用WPF应用程序,其中一个要求是在按下Alt键时在按钮上显示快捷键提示。当按Alt键时,它需要与功能区/菜单相同的方式工作,它显示提示。我使用的是MVVM,它需要在多个地方实现,而不仅仅是一个按钮,因此需要一个通用的解决方案(可能是行为或其他)。

有没有办法实现这个?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

不知道你的容器元素功能区或菜单是什么(应该适用于任何),例如让我们说它的简单网格。 这是基本准则:

1)在ViewModel中创建一个名为HintVisible的bool类型的道具。

2)您的包含元素(网格)将包含在需要提示时可见的提示元素(例如按钮)。他们的可见性支柱应该绑定到VM的HintVisible道具

<Button Visibility=”{Binding HintVisible , Converter={StaticResource BoolToVisibilityConverter} }”>Hint</Button>

3)你的包含元素应该

<Grid>
<Grid.InputBindings>
    <KeyBinding Command="{Binding ToggleHintCommand}" Key="LeftAlt"/>
</Grid.InputBindings>
<!-- Elements-->
</Grid>

4)VM的ToggleHintCommand应该切换HintVisible prop