2010-12-01 61 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

相關問題