在我的WPF MVVM应用程序中,每个模型视图都包含一个按钮列表。哪个对该用户控件有效。
private List<myButton> _buttons;
我正在显示它们:
<ItemsControl ItemsSource="{Binding buttons}" >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Width="100" Height="40" VerticalAlignment="Top" Margin="5,5,5,5" Command="{Binding command}" Content="{Binding name}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
哪种方法效果很好。
现在我想做的是在我的一些按钮上有键绑定保存例如cntr + s。
如何为某些按钮添加键绑定。从我到目前为止发现你会做这样的事情
<Window.InputBindings>
<KeyBinding Key="Z" Modifiers="Ctrl" Command="{StaticResource MyCommand1}" />
<KeyBinding Key="H" Modifiers="Alt" Command="{StaticResource MyCommand2}" />
</Window.InputBindings>
我尝试将其添加为列表,但根本不起作用。必须有一种方法来为我的一些按钮建立键绑定。
答案 0 :(得分:1)
我明白了!
问题是Inputbindings是一个窗口事物而不是用户控件。是的我是WPF的新人。
通过将以下内容添加到Mainwindow.xml,它将触发当前选择了usercontrol的savecommand。
<Window.InputBindings>
<KeyBinding Key="s" Modifiers="Ctrl" Command="{Binding ElementName=ListBoxMenu, Path=SelectedItem.SaveCommand }" />
</Window.InputBindings>
如果usercontrol / modelview所调用的内容没有savecommand,它就什么都不做。