alielie
2025-07-04 0940f31b7eba1cf6b6a8c1fca72d97cf686e79f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using HMI.Base;
using HMI.UI;
using Panuon.WPF.UI;
using Plugin.SeqEditor.Util;
using Plugin.SeqEditor.ViewModel;
using System.Windows;
using System.Windows.Data;
using System.Windows.Input;
 
namespace Plugin.SeqEditor;
 
/// <summary>
/// Interaction logic for UserControl1.xaml
/// </summary>
public partial class SeqEditor : PluginControl
{
    public SeqEditor()
    {
        InitializeComponent();
        CbFilter.ItemsSource = (IEnumerable<MultiComboBoxData>)
            new MultiComboBoxDataConverter().Convert(FilterTypeData.ItemSource,
            null, null, null
            );
    }
 
    public override void InitFinish()
    {
        this.DataContext = new SeqEditorViewModel(this, log);
    }
 
    public void BackgroundAction(Action action, string message)
    {
        new MaskWindow((WindowX)Window.GetWindow(this),
                  (win) =>
                  {
                      action?.Invoke();
                  }
                  ).Info(message);
    }
 
    /// <summary>
    /// Ê÷Êý¾Ýչʾ¹ýÂË
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void CollectionViewSource_Filter(object sender, FilterEventArgs e)
    {
        if (e.Item is TreeItemData data)
        {
            e.Accepted = data.IsVisible;
        }
    }
 
    // <summary>
    /// Ê÷Õ¹¿ª/¹Ø±Õʼþ
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void treeDataGrid_ExpandedChange(object sender, bool e)
    {
        //CollectionViewSource cvs = this.Resources["TreeGridFilter"] as CollectionViewSource;
        //cvs?.View.Refresh();
    }
 
    private void treeDataGrid_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
    {
        e.Handled = false;
    }
 
    private void Expander_PreviewMouseDown(object sender, MouseButtonEventArgs e)
    {
        e.Handled = false;
    }
 
    private void TreeListView_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        var treeListView = sender as TreeListView;
        var columns = treeListView.Columns;
        var width = treeListView.ActualWidth;
 
        columns[0].Width = columns[0].Width + (width - columns[0].Width - columns[1].Width - columns[2].Width - columns[3].Width);
        //foreach (var col in columns) { 
        //    col.Width = 
        //}
    }
}