【发布时间】:2013-03-18 22:10:01
【问题描述】:
keydown 事件无法正常工作。我想在按下回车键时引发与按钮相同的事件。这是c#
public partial class Search : Control
{
public SearchRevision()
{
InitializeComponent();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
SearchViewModel vm = this.DataContext as SearchViewModel;
if (vm != null)
vm.Refresh();
}
private void myTextBox_KeyDown(Object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
SearchViewModel vm = this.DataContext as SearchViewModel;
if (vm != null)
vm.Refresh();
}
}
private void myTextBox_Escape(Object sender, KeyEventArgs e)
{
if (e.Key == Key.Escape)
{
txtName.Text = "";
}
}
}
【问题讨论】:
-
错误信息是什么?在
KeyDown方法中放置一个断点,看看它是否被命中。此外,您应该将您的 ViewModel 代码移动到它自己的方法中,因为您重复相同的事情两次。从按钮单击处理程序和 keydown 处理程序调用此方法。 -
对于 MVVM,这是answer