为什么我的Button事件没有发生?

时间:2010-12-01 20:02:30

标签: c# wpf events 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");
}

我错过了一些明显的东西吗? 谢谢! :)

编辑: 似乎有一些不对劲的东西......也许是列表框?如何制作它以便我不点击ListBox,但我可以点击Stackpanel中的内容,它们是列表框的内容。

3 个答案:

答案 0 :(得分:1)

你确定没有解雇吗?也许您还没有在Visual Studio输出窗口中看到输出。请尝试拨打MessageBox.Show("Test");

答案 1 :(得分:1)

你有一个列表框控件,这让我相信这不是一个控制台应用程序。因此,Console.WriteLine()不会向您显示任何内容。请改为MessageBox.Show()

答案 2 :(得分:1)

ListBox的IsHitTestVisible =“False”正在禁用Button的click事件。它使ListBox中的所有内容也不可见,也可以进行命中测试。