DevicePlot.xaml.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. namespace DeviceManagement.Controls;
  2. public partial class DevicePlot : UserControl
  3. {
  4. public DevicePlot()
  5. {
  6. InitializeComponent();
  7. }
  8. public DeviceInfo_VM DeviceInfo
  9. {
  10. get { return (DeviceInfo_VM)GetValue(DeviceInfoProperty); }
  11. set { SetValue(DeviceInfoProperty, value); }
  12. }
  13. public static readonly DependencyProperty DeviceInfoProperty =
  14. DependencyProperty.Register("DeviceInfo", typeof(DeviceInfo_VM), typeof(DevicePlot), new PropertyMetadata(default));
  15. public ICommand SettingCommand
  16. {
  17. get { return (ICommand)GetValue(SettingCommandProperty); }
  18. set { SetValue(SettingCommandProperty, value); }
  19. }
  20. public static readonly DependencyProperty SettingCommandProperty =
  21. DependencyProperty.Register("SettingCommand", typeof(ICommand), typeof(DevicePlot), new PropertyMetadata(default));
  22. public ICommand RemoteControlCommand
  23. {
  24. get { return (ICommand)GetValue(RemoteControlCommandProperty); }
  25. set { SetValue(RemoteControlCommandProperty, value); }
  26. }
  27. public static readonly DependencyProperty RemoteControlCommandProperty =
  28. DependencyProperty.Register("RemoteControlCommand", typeof(ICommand), typeof(DevicePlot), new PropertyMetadata(default));
  29. public ICommand DeleteCommand
  30. {
  31. get { return (ICommand)GetValue(DeleteCommandProperty); }
  32. set { SetValue(DeleteCommandProperty, value); }
  33. }
  34. public static readonly DependencyProperty DeleteCommandProperty =
  35. DependencyProperty.Register("DeleteCommand", typeof(ICommand), typeof(DevicePlot), new PropertyMetadata(default));
  36. public ICommand DetailCommand
  37. {
  38. get { return (ICommand)GetValue(DetailCommandProperty); }
  39. set { SetValue(DetailCommandProperty, value); }
  40. }
  41. public static readonly DependencyProperty DetailCommandProperty =
  42. DependencyProperty.Register("DetailCommand", typeof(ICommand), typeof(DevicePlot), new PropertyMetadata(default));
  43. }
  44. internal class DeviceImageConverter : IValueConverter
  45. {
  46. public object? Convert(object value, Type targetType, object parameter, CultureInfo culture)
  47. {
  48. if (value is not DeviceModel deviceModel)
  49. return null;
  50. return deviceModel switch
  51. {
  52. DeviceModel.JetKepler => new BitmapImage(new Uri("/DeviceManagement;component/Resources/Kepler.png", UriKind.Relative)),
  53. DeviceModel.Proxima => new BitmapImage(new Uri("/DeviceManagement;component/Resources/Furnace.png", UriKind.Relative)),
  54. _ => null
  55. };
  56. }
  57. public object? ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  58. {
  59. return null;
  60. }
  61. }
  62. internal class ConnectToImageConverter : IValueConverter
  63. {
  64. public object? Convert(object value, Type targetType, object parameter, CultureInfo culture)
  65. {
  66. if (value is not bool connected)
  67. return default;
  68. return connected switch
  69. {
  70. true => Application.Current.Resources["Icon_Connected"],
  71. false => Application.Current.Resources["lan_disconnectDrawingImage"]
  72. };
  73. }
  74. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  75. {
  76. throw new NotImplementedException();
  77. }
  78. }