c# - Enterキーを押したときに起動するWPF TextBoxのコマンド
.net icommand (3)
Aryan、すべてのWPFオブジェクトがコマンドをサポートするわけではありません。 ですから、もしあなたがそうしたくなければ、あなたのコードからあなたのビューモデルを呼び出すか(ちょっと結合したもの)、またはそれを切り離すためにMVVM Messaging実装を使う必要があります。 MVVM Light Messagingツールキットの例を参照してください。 または、次のような単純な使用トリガー:
<TextBox>
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyUp">
<i:InvokeDataCommand Command="{Binding MyCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
WPFアプリケーションのButton
VIEWMODEL
クラスのCommand
にバインドするのは非常に簡単です。 私はTextBox
同様のバインディングを達成したいと思いTextBox
。
私はTextBox
を持っており、 TextBox
がフォーカスされている間にEnterキーをTextBox
と起動するCommand
にバインドする必要がありTextBox
。 現在、私はKeyUp
イベントに以下のハンドラを使用していますが、見た目は醜いです...私はVIEWMODEL
クラスに入れることができません。
private void TextBox_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == System.Windows.Input.Key.Enter)
{
// your event handler here
e.Handled = true;
MessageBox.Show("Enter Key is pressed!");
}
}
これを行うより良い方法はありますか?