WinTask.xaml.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Shapes;
  14. using FWindSoft.Data;
  15. using FWindSoft.Tools;
  16. namespace Test.TaskTest
  17. {
  18. /// <summary>
  19. /// WinTask.xaml 的交互逻辑
  20. /// </summary>
  21. public partial class WinTask : Window
  22. {
  23. public WinTask()
  24. {
  25. InitializeComponent();
  26. }
  27. private void Button_Click(object sender, RoutedEventArgs e)
  28. {
  29. Task.Factory.StartNew((obj) =>
  30. {
  31. WinTask winTask = new WinTask();
  32. winTask.Show();
  33. }, null);
  34. }
  35. private void Button_Click_1(object sender, RoutedEventArgs e)
  36. {
  37. TaskUtil.StartSTATask(() =>
  38. {
  39. WinTask winTask = new WinTask();
  40. winTask.Show();
  41. });
  42. }
  43. private void Button_Click_2(object sender, RoutedEventArgs e)
  44. {
  45. BinaryRelationCollection<int> collection = new BinaryRelationCollection<int>(true);
  46. collection.Add(new BinaryRelationItem<int>(1, 2));
  47. collection.Add(new BinaryRelationItem<int>(2, 1));
  48. BinaryRelationCollection<int> collection2 = new BinaryRelationCollection<int>(false);
  49. collection2.Add(new BinaryRelationItem<int>(1, 2));
  50. collection2.Add(new BinaryRelationItem<int>(2, 1));
  51. BinaryRelationCollection<int> collectionc = new BinaryRelationCollection<int>((d)=>d.First.ToString());
  52. collectionc.SetSetting(new BinaryCollectionSetting<int, object>() {UpdateAction = (o, n) => n.Value});
  53. collectionc.Update(new BinaryRelationItem<int>(1, 2){Value=10});
  54. collectionc.Update(new BinaryRelationItem<int>(1, 1){Value=5});
  55. TaskUtil.StartSTATask(() =>
  56. {
  57. WinTask winTask = new WinTask();
  58. winTask.ShowDialog();
  59. });
  60. }
  61. private void Button_Click_3(object sender, RoutedEventArgs e)
  62. {
  63. TaskUtil.StartSTATask(() =>
  64. {
  65. WinTask winTask = new WinTask();
  66. winTask.Show();
  67. //一定要处理退出机制,不然该监控线程不会消失,有时间在研究
  68. System.Windows.Threading.Dispatcher.Run();
  69. });
  70. }
  71. }
  72. }