Những gì tôi thực sự đã kết thúc phải làm gì trong VB:
Tạo một lớp công khai mới cho các lệnh tùy chỉnh của tôi vì nó là u mong muốn có lớp MainWindow của tôi là Công khai:
Public Class Commands
Public Shared myCmd As New RoutedCommand
End Class
Tạo các phương thức Execute và CanExecute chạy mã mong muốn. Hai phương pháp được tạo ra trong các mã MainWindow đằng sau:
Class MainWindow
Private Sub myCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
e.CanExecute = True
e.Handled = True
End Sub
Private Sub myCmdExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
//Do stuff here...
e.Handled = True
End Sub
End Class
Tạo Bộ Tư lệnh ràng buộc trong MainWindow code-behind và thêm hai phương pháp xử lý để các ràng buộc (đây là phần mà là khá khác nhau giữa C# và VB):
Class MainWindow
Public Sub New()
// This call is required by the designer.
InitializeComponent()
//Add any initialization after the InitializeComponent() call.
//Create command bindings.
Dim cb As New CommandBinding(Commands.myCmd)
AddHandler cb.CanExecute, AddressOf myCmdCanExecute
AddHandler cb.Executed, AddressOf myCmdExecuted
Me.CommandBindings.Add(cb)
End Sub
End Class
Thêm lệnh tùy chỉnh mới vào đối tượng nút trên UserControl. Với một lệnh tùy chỉnh, điều này dường như không thể thực hiện được trong XAML, vì vậy tôi phải làm điều đó trong đoạn mã sau. Lớp Lệnh cần phải được Công khai để các lệnh có thể truy cập được trong UserControl này:
Public Class myUserControl
Public Sub New()
//This call is required by the designer.
InitializeComponent()
// Add any initialization after the InitializeComponent() call.
myButton.Command = Commands.myCmd
End Sub
End Class
Yp, một câu trả lời 404 khác, lần này thậm chí được chấp nhận! – Rbjz
Tôi đã đào bài viết từ kho lưu trữ Internet "The Wayback Machine". Bạn không chắc chắn cách tốt nhất là tránh các liên kết bị hỏng khi trang web không còn tồn tại và nội dung của bài viết quá nhiều để đưa vào đây. https://web.archive.org/web/20121102095816/http://www.switchonthecode.com/tutorials/wpf-tutorial-command-bindings-and-custom-commands –
hướng dẫn có quá nhiều đọc để sự thèm ăn của tôi. Tôi đề nghị đưa ra một ví dụ làm việc. – Rbjz