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;
///
/// Interaction logic for UserControl1.xaml
///
public partial class SeqEditor : PluginControl
{
public SeqEditor()
{
InitializeComponent();
CbFilter.ItemsSource = (IEnumerable)
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);
}
///
/// Ê÷Êý¾Ýչʾ¹ýÂË
///
///
///
private void CollectionViewSource_Filter(object sender, FilterEventArgs e)
{
if (e.Item is TreeItemData data)
{
e.Accepted = data.IsVisible;
}
}
//
/// Ê÷Õ¹¿ª/¹Ø±Õʼþ
///
///
///
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 =
//}
}
}