53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Windows;
|
|||
|
|
|||
|
using System.Collections.ObjectModel;
|
|||
|
using RecipeEditorLib.DGExtension.CustomColumn;
|
|||
|
|
|||
|
|
|||
|
namespace RecipeEditorLib.RecipeModel.Params
|
|||
|
{
|
|||
|
public class PositionParam : ParamBaseWithGenericValue<string>
|
|||
|
{
|
|||
|
public override string Value
|
|||
|
{
|
|||
|
get => _value;
|
|||
|
set
|
|||
|
{
|
|||
|
_value = value;
|
|||
|
OptionChanged(value);
|
|||
|
NotifyOfPropertyChange(nameof(Value));
|
|||
|
}
|
|||
|
}
|
|||
|
public ObservableCollection<ComboxColumn.Option> Options { get; set; }
|
|||
|
|
|||
|
private void OptionChanged(string value)
|
|||
|
{
|
|||
|
IEnumerable<ComboxColumn.Option> opts = Options.Where(op => op.ControlName == value);
|
|||
|
|
|||
|
if (opts.Count() > 0)
|
|||
|
{
|
|||
|
string[] relatedparams = opts.ToList()[0].RelatedParameters.Split(',');
|
|||
|
Parent.ToList().ForEach(param =>
|
|||
|
{
|
|||
|
if (relatedparams.Contains(param.Name) || param.Name == "Position" || param.Name == "StepNo" || param.Name == "Module")
|
|||
|
param.Visible = Visibility.Visible;
|
|||
|
else
|
|||
|
param.Visible = Visibility.Hidden;
|
|||
|
});
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Parent.ToList().ForEach(param =>
|
|||
|
{
|
|||
|
if (param.Name == "Position" || param.Name == "StepNo" || param.Name == "Module")
|
|||
|
param.Visible = Visibility.Visible;
|
|||
|
else
|
|||
|
param.Visible = Visibility.Hidden;
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|