如何使用ICommand实现DockPanel或Image click?

Ale*_*lex 0 vb.net wpf image mvvm dockpanel

在我开始之前,这里有一点背景知识.我开始在WPF中创建我的应用程序,就像我以前在WinForms中编程一样.显然,这完全绕过了WPF的优势.所以现在我已经阅读了更多关于WPF和MVVM框架的内容,我开始调整我的应用程序以模型 - 视图 - ViewModel方式工作.

事先,我曾经使用Window的代码隐藏,只是处理了MouseDown RoutedEvents然后继续并提示一个签名窗口.我的DockPanel和Image似乎没有Command.

我怎样才能以MVVM的方式做到这一点?RoutedEvents是解决这种情况的方法吗?

Fed*_*gui 6

而不是使用Behaviors和stuff复杂整个事物,将所有UI元素放在Button的ControlTemplate中并使用它的命令:

<Button Command="{Binding YourCommand}">
   <Button.Template>
      <ControlTemplate TargetType="Button">
          <DockPanel>
             <Image/>
             <!-- Whatever -->
          </DockPanel>
      </ControlTemplate>
   </Button.Template>
</Button>
Run Code Online (Sandbox Code Playgroud)