我有一个ItemsControl中的超链接列表,我希望用户能够在超链接有焦点时按下空格键来调用超链接的命令(目前按下enter键也可以做到这一点 - 但它不是那么可发现的IMO) 。这是我的ItemsControl decl:如何让WPF ItemsControl项目在按空格键时触发命令?
<ItemsControl x:Uid="_commandsItemsControl" Name="_commandsItemsControl" Grid.Row="1" Grid.Column="2" Grid.RowSpan="4" ItemsSource="{Binding Commands}" Background="Transparent"
ScrollViewer.CanContentScroll="False" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"
HorizontalAlignment="Stretch" HorizontalContentAlignment="Right" VerticalAlignment="Bottom" Margin="12,0,12,0" BorderThickness="0">
<ItemsControl.ItemTemplate>
<DataTemplate x:Uid="DataTemplate_1">
<TextBlock x:Uid="TextBlock_1" HorizontalAlignment="Stretch" TextAlignment="Right">
<Hyperlink x:Uid="Hyperlink_1" Command="{Binding Command}">
<Hyperlink.Inlines>
<Run x:Uid="Run_1" Text="{Binding DisplayName, Mode=OneWay}"/>
</Hyperlink.Inlines>
</Hyperlink>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
这样做的最好方法是什么?
是的,我在超链接元素上使用了KeyUp处理程序,它工作得很好。 – 2010-08-10 16:31:47