コマンドバインディングを実装しようとしていますので、ユーザーはAlt +をナビゲーションに使用できます。 thisの例が見つかりましたが、xmlnsとCommandBinding xamlの作成に問題があります。コマンドバインディングのためにxamlを正しく作成できません
これはこれまで私が行ってきたことです。私はそれが正しく形成されていないことを知っている。
xmlns:local="clr-namespace:xxxxx"
<Window.CommandBindings>
<CommandBinding
Command="{x:Static local:xxxxx.ProjectMsg}"
Executed="ProjectMsg"/>
</Window.CommandBindings>
コマンドのためのコーディングは、メイン・ウィンドウVBでここにある:XXXXXを:
Class MainWindow
Public Shared ProjectTab_AltP As New RoutedCommand
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
End Sub
Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
ProjectTab_AltP.InputGestures.Add(New KeyGesture(Key.P, ModifierKeys.Control))
Me.CommandBindings.Add(New CommandBinding(ProjectTab_AltP, AddressOf Me.ProjectMsg))
End Sub
Private Sub ProjectMsg(sender As Object, e As ExecutedRoutedEventArgs)
MessageBox.Show("hi")
End Sub
私は名前を「xxxxxは」名前空間のCLR名前空間に存在しないというエラーが出ます。
メインウィンドウvbには、宣言された名前空間がありません。追加しようとすると数多くのエラーが発生します。
メインウィンドウに名前空間が必要ですか?
私はwpfでnoobですので、何か助けやアドバイスをいただければ幸いです。ありがとう。
プロジェクトのプロパティに応じて、ルート名前空間は「xxxxx」です。私はエラーを取得せずにVBのコーディングの正しい場所にProjectTab_AltPプロパティを取得するように見えることはできません。どこに行くの?私はそれを "Class MainWindow"の下に置いていますが、クラス自体では、プロパティにアクセスできないというエラーが出ます。 "xxxxx"は "xxxxx"には存在しません。拡張されたプロパティを初期化することはできません。ありがとう – EManning
@ EManning私は私の答えでそれを説明した。理解できない場合は、mm8の内容をコピーしてください。彼はあなたに何をすべきか正確に示しました。 'X =静的ローカル:MainWindow.ProjectTab_AltP} ''の答えから、このXAMLをコピーして貼り付けてください。 –
私は、コマンドバインディングステートメントの1つの末尾に "()"があることを発見しました。 alt + Pは削除した後に正常に機能しました。私は "Public Shared ProjectTab_AltP ..."を同じままにしました。それが本当にプロパティに変更する必要がある場合、上記の私の質問はまだ適用されます。両方のおかげであなたの助けになりました。 – EManning