1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- namespace HistoryView.Controls.Configs;
- public partial class Mini8Comparision : UserControl
- {
- public Mini8Comparision()
- {
- InitializeComponent();
- Comparision = [];
- }
- public TempConfigSubMini8 Source
- {
- get { return (TempConfigSubMini8)GetValue(SourceProperty); }
- set { SetValue(SourceProperty, value); }
- }
- public static readonly DependencyProperty SourceProperty =
- DependencyProperty.Register("Source", typeof(TempConfigSubMini8), typeof(Mini8Comparision), new PropertyMetadata(default, SourceChangedCallback));
- public TempConfigSubMini8 Target
- {
- get { return (TempConfigSubMini8)GetValue(TargetProperty); }
- set { SetValue(TargetProperty, value); }
- }
- public static readonly DependencyProperty TargetProperty =
- DependencyProperty.Register("Target", typeof(TempConfigSubMini8), typeof(Mini8Comparision), new PropertyMetadata(default, TargetChangedCallback));
- private static void SourceChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
- {
- if (d is not Mini8Comparision act)
- return;
- if (e.NewValue is not TempConfigSubMini8 config)
- return;
- if (config.ChannelConfig is null)
- return;
- foreach (var mini8 in config.ChannelConfig)
- {
- act.Comparision[mini8.Key] ??= new();
- act.Comparision[mini8.Key].Index = mini8.Key;
- act.Comparision[mini8.Key].Source = mini8.Value;
- }
- }
- private static void TargetChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
- {
- if (d is not Mini8Comparision act)
- return;
- if (e.NewValue is not TempConfigSubMini8 config)
- return;
- if (config.ChannelConfig is null)
- return;
- foreach (var mini8 in config.ChannelConfig)
- {
- act.Comparision[mini8.Key] ??= new();
- act.Comparision[mini8.Key].Index = mini8.Key;
- act.Comparision[mini8.Key].Target = mini8.Value;
- }
- }
- public ObservableDictionary<byte, Mini8COnfigComparisionData> Comparision
- {
- get { return (ObservableDictionary<byte, Mini8COnfigComparisionData>)GetValue(ComparisionProperty); }
- set { SetValue(ComparisionProperty, value); }
- }
- public static readonly DependencyProperty ComparisionProperty =
- DependencyProperty.Register("Comparision", typeof(ObservableDictionary<byte, Mini8COnfigComparisionData>), typeof(Mini8Comparision), new PropertyMetadata(default));
- }
- public partial class Mini8COnfigComparisionData : ObservableObject
- {
- [ObservableProperty]
- private byte _Index;
- [ObservableProperty]
- private string? _FileName;
- [ObservableProperty]
- private TempConfigSubChannel? _Source;
- [ObservableProperty]
- private TempConfigSubChannel? _Target;
- }
|