ContextFlyoutPage.axaml.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using Avalonia;
  2. using Avalonia.Controls;
  3. using Avalonia.Markup.Xaml;
  4. using ControlCatalog.ViewModels;
  5. using Avalonia.Interactivity;
  6. namespace ControlCatalog.Pages
  7. {
  8. public class ContextFlyoutPage : UserControl
  9. {
  10. private TextBox _textBox;
  11. public ContextFlyoutPage()
  12. {
  13. InitializeComponent();
  14. var vm = new ContextFlyoutPageViewModel();
  15. vm.View = this;
  16. DataContext = vm;
  17. _textBox = this.FindControl<TextBox>("TextBox");
  18. var cutButton = this.FindControl<Button>("CutButton");
  19. cutButton.Click += CloseFlyout;
  20. var copyButton = this.FindControl<Button>("CopyButton");
  21. copyButton.Click += CloseFlyout;
  22. var pasteButton = this.FindControl<Button>("PasteButton");
  23. pasteButton.Click += CloseFlyout;
  24. var clearButton = this.FindControl<Button>("ClearButton");
  25. clearButton.Click += CloseFlyout;
  26. }
  27. private void CloseFlyout(object sender, RoutedEventArgs e)
  28. {
  29. _textBox.ContextFlyout.Hide();
  30. }
  31. private void InitializeComponent()
  32. {
  33. AvaloniaXamlLoader.Load(this);
  34. }
  35. }
  36. }