Table of Contents

Создание собственных панелей для стратегий

Собственные панели представляют собой специальный контрол созданный S# для облегчения работы с элементами DevExpress.

Для начала необходимо создать простой UserControl в папке XAML вашей стратегии.

Shell custom strategy panel 00

Shell custom strategy panel 01

Заменить UserControl на controls:BaseStudioControl

<controls:BaseStudioControl>
...
</controls:BaseStudioControl>
	  				

И реализовать свою логику панели по аналогии с имеющимися панелями стратегий.

Чтобы панель Реал-тайм смогла увидеть стратегию в вашей панели, ваша стратегия должна быть задана как свойство:

	public partial class SmaMonitoringControl
	{
	...
		public Strategy Strategy { get; set; }
	...
	}
		

Для сохранения настроек стратегии в панели необходимо переопределить методы Load и Save

	public partial class SmaMonitoringControl
	{
	...
		public override void Load(SettingsStorage storage)
		{
			base.Load(storage);
			try
			{
				Strategy = MainWindow.Instance.CreateStrategy(storage.GetValue<SettingsStorage>(nameof(Strategy)));
				Init(Strategy);
			}
			catch (Exception e)
			{
				e.LogError();
			}
		}
		public override void Save(SettingsStorage storage)
		{
			base.Save(storage);
			storage.SetValue(nameof(Strategy), Strategy.Save());
		}
	...
	}
		

См. также

Создание собственной стратегии