如何使用功能区按钮执行代码?
How to use Ribbon Buttons to execute code?
到目前为止,我已经按照 this tutorial.
创建了一个带有多个按钮的功能区
现在我想让按钮真正起作用!我发现 this example 显示了如何执行已经存在的方法。但是,如果我这样做:Command="myCustomClass.myCustomMethod" 并使用
Class myCustomClass
Public Sub myCustomMethod()
'do stuff
End Sub
End Class
我收到错误 myCustomClass is not supported in a Windows Presentation Foundation (WPF) project
。
我也从同一个 post 注意到这个 this post。将代码转换为VB.NET后:
Public Class MyCommand
Implements ICommand
Public Sub Execute(parameter As Object) Implements ICommand.Execute
Dim hello As String = TryCast(parameter, String)
MsgBox(hello)
End Sub
Public Function CanExecute(parameter As Object) As Boolean Implements ICommand.CanExecute
Return True
End Function
Public Event CanExecuteChanged As EventHandler Implements ICommand.CanExecuteChanged
End Class
并添加对 <Window x:Class="MainWindow" ...
元素的引用:
<Window.Resources>
<local:MyCommand x:Key="mycmd"/>
</Window.Resources>
我收到以下错误:The name 'MyCommand' does not exist in the namespace "clr-namespace:RibbonSample"
。
我完全不知道我需要做什么来实现这些按钮。是否有可能使用相同的框架获得任何完整的色带样本,我可以从中学习?我认为这个问题的解决方案应该非常简单。
重建您的项目。
WPF 设计器从您项目的已编译程序集中加载 classes(以便它可以实际执行您的代码)。
如果您添加一个新的 class,它将给您错误,直到您重建您的项目,因此程序集包含 class。
到目前为止,我已经按照 this tutorial.
创建了一个带有多个按钮的功能区现在我想让按钮真正起作用!我发现 this example 显示了如何执行已经存在的方法。但是,如果我这样做:Command="myCustomClass.myCustomMethod" 并使用
Class myCustomClass
Public Sub myCustomMethod()
'do stuff
End Sub
End Class
我收到错误 myCustomClass is not supported in a Windows Presentation Foundation (WPF) project
。
我也从同一个 post 注意到这个 this post。将代码转换为VB.NET后:
Public Class MyCommand
Implements ICommand
Public Sub Execute(parameter As Object) Implements ICommand.Execute
Dim hello As String = TryCast(parameter, String)
MsgBox(hello)
End Sub
Public Function CanExecute(parameter As Object) As Boolean Implements ICommand.CanExecute
Return True
End Function
Public Event CanExecuteChanged As EventHandler Implements ICommand.CanExecuteChanged
End Class
并添加对 <Window x:Class="MainWindow" ...
元素的引用:
<Window.Resources>
<local:MyCommand x:Key="mycmd"/>
</Window.Resources>
我收到以下错误:The name 'MyCommand' does not exist in the namespace "clr-namespace:RibbonSample"
。
我完全不知道我需要做什么来实现这些按钮。是否有可能使用相同的框架获得任何完整的色带样本,我可以从中学习?我认为这个问题的解决方案应该非常简单。
重建您的项目。
WPF 设计器从您项目的已编译程序集中加载 classes(以便它可以实际执行您的代码)。
如果您添加一个新的 class,它将给您错误,直到您重建您的项目,因此程序集包含 class。