Keydown、Perview Keydown、Keyup Perview Keyup 這些似乎都不起作用。我什至無法點擊我的影像。
這是我的代碼:
<Viewbox Width="auto" Height="auto" >
<Border ClipToBounds="True">
<Canvas Height="50" Width="50" x:Name="comicbookBorder"
MouseWheel="comicbookSource_OnMouseWheel"
MouseMove="comicbookSource_OnMouseMove"
MouseDown="CanvasGridScreen_MouseDown"
Mouse.MouseUp="CanvasGridScreen_MouseUp"
MouseLeftButtonUp="comicbookSource_OnMouseLeftButtonUp">
<Image x:Name="comicbookSource"
PreviewKeyUp="comicbookBorder_KeyDown"
Width="{Binding Path=ActualWidth, ElementName=comicbookBorder}"
Height="{Binding Path=ActualHeight, ElementName=comicbookBorder}"
Stretch="Uniform" Loaded="comicbookSource_Loaded"/>
</Canvas>
</Border>
</Viewbox>
所有其他事件都有效,但 Key down/up 沒有任何效果。如果我添加一個文本框,那么它可以作業,但我正在嘗試顯示一個影像,我不希望在我的影像中間出現一個你必須單擊的隨機文本框。
uj5u.com熱心網友回復:
查看有關鍵盤焦點的文章,它揭示了問題的本質。簡而言之,Image 的Focusable屬性默認設定為 false。為了允許元素以任何方式獲得鍵盤焦點,它應該設定為 true。然后您應該使用該Keyboard.Focus方法管理影像的焦點狀態。這應該可以很好地將焦點傳遞給滑鼠單擊:
<Image Focusable="True" PreviewKeyDown="OnKeyDown" MouseDown="OnMouseDown"... />
然后在代碼隱藏中:
private void OnMouseDown(object sender, MouseButtonEventArgs e)
{
Keyboard.Focus(sender as Image);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/489988.html
