我的Metro应用程序ListView
具有此定义:
<ListView Grid.Row="0" x:Name="lvData" CanDragItems="True" CanReorderItems="True" SelectionMode="Extended">
<ListView.ItemTemplate>
<DataTemplate>
<Border Padding="4,0,0,0">
<Grid Width="{Binding ElementName=lvData, Path=ActualWidth}">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="65"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" HorizontalAlignment="Stretch"/>
<TextBlock Grid.Column="1" HorizontalAlignment="Right"/>
<TextBlock Grid.Column="2" HorizontalAlignment="Right"/>
<TextBlock Grid.Column="3" HorizontalAlignment="Right"/>
<TextBlock Grid.Column="4" HorizontalAlignment="Right"/>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="65"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" HorizontalAlignment="Stretch" TextTrimming="WordEllipsis"/>
<TextBlock Grid.Column="1" HorizontalAlignment="Right"/>
</Grid>
</Grid>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我已尝试在此KeyDown
ListView's
中嵌入的不同控件上设置DataTemplate
事件,但该事件似乎永远不会触发。
注意:如果我双击ListViewItem
,则会触发KeyDown
事件。
有什么建议吗?
答案 0 :(得分:0)
您的控件需要专注于处理KeyDown事件。如果您需要全局处理它们 - 您可以在Window.Current.KeyDown
而不是控件上处理它们。