Почему мое событие Button не происходит? - PullRequest
0 голосов
/ 01 декабря 2010

У меня проблема с моим событием кнопки, которое не происходит

В основном у меня есть элементы корзины, которые перечислены в списке.При нажатии кнопки удаления элемент удаляется из списка.

Я попытался отладить, но, кажется, даже не вызывать метод для нажатия кнопки.

В моемФайл 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");
}

Я что-то упускаю из виду?Спасибо в Adv!:)

Редактировать: Кажется, что-то перед этим ... может быть, список?Как мне сделать так, чтобы я не щелкал ListBox, но я мог щелкнуть по элементам Stackpanel, которые являются содержимым списка.

Ответы [ 3 ]

1 голос
/ 01 декабря 2010

У вас есть элемент управления списком, который заставляет меня поверить, что это не консольное приложение. Поэтому Console.WriteLine() ничего вам не покажет. Попробуйте MessageBox.Show() вместо.

1 голос
/ 02 декабря 2010

IsHitTestVisible = "False" для ListBox отключает событие click для кнопки.Это также делает все содержимое ListBox невидимым для проверки нажатия.

1 голос
/ 01 декабря 2010

Вы уверены, что не стреляет?Возможно, вы не видели вывод в окне вывода Visual Studio.Попробуйте вместо этого позвонить MessageBox.Show("Test");.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...