Как добавить полный ClickGesture для ListBoxItem в XAML - PullRequest
0 голосов
/ 01 мая 2020

У меня есть ListBoxItem с жестом LeftClick:

<ListBoxItem x:Name="ListViewItemMenu" Content="{Binding Path=Header}" Padding="37 14" FontSize="15" Foreground="White">
    <ListBoxItem.InputBindings>
        <MouseBinding Gesture="LeftClick" Command="ApplicationCommands.New" />
    </ListBoxItem.InputBindings>
</ListBoxItem>

Но на самом деле это не настоящий щелчок, это просто жест MouseLeftButtonDown. Command выполняется независимо от того, поднимается кнопка или нет после нажатия.

Я хотел бы получить полный щелчок с жестами MouseDown и MouseUp в ListBoxItem. Есть в любом случае, чтобы сделать это? Очень признателен.

Также я не могу найти способ добавить Command к Expander. Метод, показанный выше для ListBoxItem, не работает. Здесь есть какие-нибудь маги c? Спасибо!

1 Ответ

0 голосов
/ 01 мая 2020

Согласно этому ответу вы можете наследовать от MouseGesture для создания пользовательских жестов. Есть даже полный пример с реализацией.

Альтернативой является использование System.Windows.Interactivity.EventTrigger, как показано в в этом ответе , что позволит вам перевернуть MouseLeftButtonUp или PreviewMouseLeftButtonUp событие в триггере команды.

...