2010-12-01 28 views
0

我遇到我的按钮事件不发生的问题为什么我的Button事件没有发生?

基本上我有列表框中列出的购物车项目。当点击删除按钮时,该项目将从列表框中删除。

我试过调试,但它似乎甚至没有调用单击按钮时的方法。

在我ticketscreen.xaml文件指定我的模板按钮:

<DataTemplate x:Key="TicketTemplate"> 
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Height="50"> 
... 
     <Button Name="Remove" Width="35" Height="35" 
       FontFamily="Resources/#charlemagnestd-regular.otf" FontSize="24" 
       Click="removeCartItem" Grid.Column="5" 
       MouseMove="Remove_MouseMove">X</Button> 
... 
    </StackPanel> 
</DataTemplate> 

我的列表框如下:

<ListBox Name="TicketItems" ItemsSource="{Binding}" 
     ItemTemplate="{StaticResource TicketTemplate}" 
     Grid.Row="3" Grid.ColumnSpan="6" Background="Transparent" 
     BorderBrush="Transparent" IsHitTestVisible="False"> 
</ListBox> 

我的方法removeCartItem在ticketscreen.xaml.cs :

private void removeCartItem(object sender, RoutedEventArgs e) 
{ 
    Console.WriteLine("TestingCartRemove"); 
} 

我是否缺少明显的东西? Thx in adv! :)

编辑: 似乎有什么面前......也许是列表框?我如何使它不会点击ListBox,但是我可以点击StackPanel中的东西,它们是列表框的内容。

回答

1

对于ListBox,IsHitTestVisible =“False”将禁用Button的单击事件。它使ListBox中的所有内容都不可见,并且也可以进行命中测试。

1

你确定不烧吗?也许你没有在Visual Studio输出窗口中看到输出。尝试改为拨打MessageBox.Show("Test");

1

你有一个listbox控件,这使我相信这不是一个控制台应用程序。因此,Console.WriteLine()不会显示任何东西。改为尝试MessageBox.Show()

+0

好点但操作系统状态“我试过调试”,所以我们不得不假设他在`removeCartItem`中设置了一个断点,并且它没有被击中。 – ChrisF 2010-12-01 20:12:06

+0

嗯,我想我会开始回答“我错过了什么明显的” – 2010-12-01 20:13:30

相关问题