MainWindow.xaml.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Windows;
  3. using System.Windows.Input;
  4. using Vinno.IUS.Common;
  5. using Vinno.IUS.Common.Log;
  6. namespace Flyinsono.Client.Test
  7. {
  8. /// <summary>
  9. /// MainWindow.xaml 的交互逻辑
  10. /// </summary>
  11. public partial class MainWindow : Window
  12. {
  13. public MainWindow()
  14. {
  15. _mainWindowViewModel = new MainWindowViewModel();
  16. CommonParameters.DataFolder = AppDomain.CurrentDomain.BaseDirectory;
  17. var logEngine = new LogEngineImplement((s) =>
  18. {
  19. AddLog(s);
  20. });
  21. Logger.RegisterEngine(logEngine);
  22. InitializeComponent();
  23. DataContext = _mainWindowViewModel;
  24. }
  25. private MainWindowViewModel _mainWindowViewModel;
  26. private void AddLog(LogItem s)
  27. {
  28. Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(()=> {
  29. if (_mainWindowViewModel != null)
  30. {
  31. _mainWindowViewModel.LogItems.Add(s);
  32. }
  33. }));
  34. }
  35. private void CopyCommandHandler(object sender, ExecutedRoutedEventArgs e)
  36. {
  37. var sel = logList.SelectedItem as LogItem;
  38. if (sel != null)
  39. {
  40. Clipboard.SetText(sel.Content.ToString());
  41. }
  42. }
  43. private void CanCopyExecuteHandler(object sender, CanExecuteRoutedEventArgs e)
  44. {
  45. e.CanExecute = true;
  46. }
  47. }
  48. }