我在列表框的 DataTemplate 内定义了一个按钮。
<phone:PhoneApplicationPage.Resources>
<DataTemplate x:Key="ListTemplate">
<Grid Margin="12,12,24,12">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Name="EnableDisableButton"
Click="EnableDisableButton_Click"
BorderBrush="Transparent">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" Source="\Images\img.dark.png" Width="48" Height="48" Visibility="{StaticResource PhoneDarkThemeVisibility}" />
<Image Grid.Row="0" Source="\Images\img.light.png" Width="48" Height="48" Visibility="{StaticResource PhoneLightThemeVisibility}" />
<Rectangle Grid.Row="1" Width="48" Height="8" Fill="{Binding CurrentColor}" RadiusX="4" RadiusY="4" />
</Grid>
</Button>
<Grid Grid.Column="1">
<... more stuff here ...>
</Grid>
</Grid>
</DataTemplate>
</phone:PhoneApplicationPage.Resources>
我看到的是,当我第一次按下按钮时,Click 事件就会触发。我第二次按下它,它不火。第三次按下,火灾。第四次按,不开火。等等。最初我将它绑定到一个命令,但它的行为方式相同。(我在事件处理程序中放置了一个 Debug.WriteLine() 以便我知道它何时触发。)
有任何想法吗?click 事件每隔一段时间才会触发一次,这真的很奇怪。