public ComparisonTypeSelectView(IComparisonType comparisonType, bool onlyNumeric)
        {
            InitializeComponent();

            var comparisonTypes = Lazurite.CoreActions.Utils.GetComparisonTypes();

            if (!onlyNumeric)
            {
                comparisonTypes = Lazurite.CoreActions.Utils.GetComparisonTypes().Where(x => !x.OnlyNumeric).ToArray();
            }
            foreach (var type in comparisonTypes)
            {
                var cType    = type;
                var itemView = new ItemView();
                if (type.GetType().Equals(comparisonType.GetType()))
                {
                    Loaded += (o, e) => itemView.Selected = true;
                }
                itemView.Content        = type.Caption;
                itemView.Margin         = new Thickness(0, 0, 0, 1);
                itemView.IconVisibility = Visibility.Collapsed;
                itemView.Click         += (o, e) => Selected?.Invoke(cType);
                listItems.Children.Add(itemView);
            }
        }
        public static void Show(Action <IComparisonType> callback, IComparisonType selected, bool onlyNumeric)
        {
            var control = new ComparisonTypeSelectView(selected, onlyNumeric);
            var dialog  = new DialogView(control);

            dialog.ShowUnderCursor = true;
            control.Selected      += (type) => {
                callback?.Invoke(type);
                dialog.Close();
            };
            dialog.Show();
        }