【发布时间】:2016-11-23 21:34:12
【问题描述】:
我正在使用这个例程来检查我的图像控件上是否按下了我的LeftCtrl 键:
private void mainImage_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.LeftCtrl)
{
LeftCtrlButtonIsPressed = true;
}
}
private void mainImage_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.LeftCtrl)
{
LeftCtrlButtonIsPressed = false;
}
}
当我将事件设置在图像或图像周围的边框上时,它不会命中:
<Border x:Name="mainImageBackBorder" .... KeyDown="mainImage_KeyDown" KeyUp="mainImage_KeyUp"> <! -- Does not Hit -->
<Image x:Name="mainImage" ... KeyDown="mainImage_KeyDown" KeyUp="mainImage_KeyUp"> <! -- Does not Hit -->
<Image.RenderTransform>
<! -- ... -->
</Image.RenderTransform>
</Image>
</Border>
但是,当我将它设置在我的窗口上时,它命中:
<Window x:Class="ProjectName.MainWindow"
..
DataContext="{StaticResource mainViewModel }"
Title="MainWindow" Height="600" Width="800" KeyDown="mainImage_KeyDown" KeyUp="mainImage_KeyUp"> <!-- It Hits -->
【问题讨论】:
标签: c# wpf xaml keyboard keydown