【发布时间】:2014-05-08 03:22:23
【问题描述】:
<DataTemplate x:Key="nodeTrafficQualifierTemplate">
<Grid Width="400" Margin="8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" TextWrapping="WrapWholeWords" Text="{Binding Name}" />
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Right" >
<TextBlock Name="GreenQualifier" Text="{StaticResource CircleOpen}"
IsTapEnabled="True"
Tapped="TrafficLightQualifier_OnTapped"
FontFamily="{StaticResource SymbolThemeFontFamily}"
FontSize="20" Margin="0,0,60,0" Foreground="Green"/>
</StackPanel>
</Grid>
</DataTemplate>
private void TrafficLightQualifier_OnTapped(object sender, TappedRoutedEventArgs e)
{
// Never get here...
var qualifier = ((TextBlock)sender).Name;
switch (qualifier)
{
case "GreenQualifier":
break;
}
}
事件处理程序永远不会被调用。除了使用 Image 控件而不是 Textblock 之外,我有几乎相同的东西,并且 Tapped 事件处理程序工作正常。
Textblock 的 Loaded 事件被触发并且没有问题地被处理。
这与焦点有关吗?有什么办法可以让它工作吗?
谢谢!
【问题讨论】:
-
这很奇怪。当我使用以下字形时:它不会触发(这是符号字体的实心圆圈)但是几乎所有其他字形都可以工作(事件处理程序工作)。关于字形类型的某些东西会导致问题。也许以某种方式移动命中区域(这些是“零宽度”字形)。
标签: c# xaml windows-store-apps