Hallo,
beschäftige mich weiterhin mit der Metro-Programmierung in C-Sharp mit XAML. Leider gibt es mal wieder ein Problem 😦
Einem Button kann ich per XAML relativ leicht die PointerPressed-Funktion zuweisen (<button ... PointerPressed="MeinePointerPressedFunktion"/>), die ich in der Code-Behind-Datei wie folgt hinterlegt habe:
private void MeinePointerPressedFunktion(object sender, PointerRoutedEventArgs e)
{
// Button-Content anpassen
(sender as Button).Content = "Button wurde geklickt";
}
Die Pointer-Pressed-Funktion wird allerdings beim Links- und Rechts-Klick mit der Maus ausgeführt (und vermutlich noch bei vielen anderen Klicks, wie z.B. Doppelklick - habe ich aber noch nicht genau getestet).
Ich raff es beim besten Willen nicht, wie ich nun herausbekomme, ob ein Links- oder Rechts-Klick durchgeführt wurde. Dank
if (e.Pointer.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Mouse)
weiß ich zumindest schon mal, dass das Event von einer Maus kam - damit sind z.B. Gesten/Touch und Stift-Eingaben ausgeschlossen; allerdings wirklich weiterhelfen tut mir das nicht...
Bin für jeden Tipp dankbar!
Gruß
Stefan
Hallo S.R.
ich vermute das entweder in den PointerRoutedEventArgs was drin steht oder es gibt dazu ein eigenes Event.
Ggf. solltest du auch überlegen MVVM und CommandBinding zu verwenden.
André