如何使用键盘 Tab 键导航或 select WPF 图像?
How to navigate or select WPF Image with keyboard Tab key?
无法通过键盘访问 WPF 图像。要求是工具提示中的 tab 键焦点必须打开并保持直到 tab 键焦点出来。如何在Xaml中实现?
代码如下所示,
<Image Height="17"
x:Name="tabinfoIcon"
Stretch="Fill"
Width="17"
Cursor="Hand"
Margin="5">
<Image.ToolTip>
<ToolTip Background="#FFFEFEFE"
Foreground="#FF5E5D5D"
Placement="MousePoint"
x:Name="tabToolTip">
<TextBlock Width="200"
Padding="10,10"
TextWrapping="WrapWithOverflow"
Text="{x:Static resx:Strings.TabToolTipText}">
</TextBlock>
</ToolTip>
</Image.ToolTip>
</Image>
Image
不是 Control
,因此不是制表位或导航目标。
要解决这个问题,您可以将 Image
包装成 ContentControl
并使用 Popup
在键盘焦点上显示工具提示:
<StackPanel>
<Popup IsOpen="{Binding ElementName=ImagePresenter, Path=IsKeyboardFocusWithin, Mode=OneWay}"
PlacementTarget="{Binding ElementName=ImagePresenter}"
AllowsTransparency="True">
<TextBlock Text="{x:Static resx:Strings.TabToolTipText}" />
</Popup>
<ContentControl x:Name="ImagePresenter" HorizontalAlignment="Left" VerticalAlignment="Top">
<Image Height="100" x:Name="tabinfoIcon"
Stretch="Fill"
Width="100"
Cursor="Hand"
Margin="5">
<Image.ToolTip>
<ToolTip Background="#FFFEFEFE"
Foreground="#FF5E5D5D"
Placement="MousePoint"
x:Name="tabToolTip">
<TextBlock Width="200"
Padding="10,10"
TextWrapping="WrapWithOverflow"
Text="{x:Static resx:Strings.TabToolTipText}">
</TextBlock>
</ToolTip>
</Image.ToolTip>
</Image>
</ContentControl>
</StackPanel>
无法通过键盘访问 WPF 图像。要求是工具提示中的 tab 键焦点必须打开并保持直到 tab 键焦点出来。如何在Xaml中实现?
代码如下所示,
<Image Height="17"
x:Name="tabinfoIcon"
Stretch="Fill"
Width="17"
Cursor="Hand"
Margin="5">
<Image.ToolTip>
<ToolTip Background="#FFFEFEFE"
Foreground="#FF5E5D5D"
Placement="MousePoint"
x:Name="tabToolTip">
<TextBlock Width="200"
Padding="10,10"
TextWrapping="WrapWithOverflow"
Text="{x:Static resx:Strings.TabToolTipText}">
</TextBlock>
</ToolTip>
</Image.ToolTip>
</Image>
Image
不是 Control
,因此不是制表位或导航目标。
要解决这个问题,您可以将 Image
包装成 ContentControl
并使用 Popup
在键盘焦点上显示工具提示:
<StackPanel>
<Popup IsOpen="{Binding ElementName=ImagePresenter, Path=IsKeyboardFocusWithin, Mode=OneWay}"
PlacementTarget="{Binding ElementName=ImagePresenter}"
AllowsTransparency="True">
<TextBlock Text="{x:Static resx:Strings.TabToolTipText}" />
</Popup>
<ContentControl x:Name="ImagePresenter" HorizontalAlignment="Left" VerticalAlignment="Top">
<Image Height="100" x:Name="tabinfoIcon"
Stretch="Fill"
Width="100"
Cursor="Hand"
Margin="5">
<Image.ToolTip>
<ToolTip Background="#FFFEFEFE"
Foreground="#FF5E5D5D"
Placement="MousePoint"
x:Name="tabToolTip">
<TextBlock Width="200"
Padding="10,10"
TextWrapping="WrapWithOverflow"
Text="{x:Static resx:Strings.TabToolTipText}">
</TextBlock>
</ToolTip>
</Image.ToolTip>
</Image>
</ContentControl>
</StackPanel>