private void Attach() { var target = Target; var interactivityService = target.GetInteractivityService(); _styleService.EnsureNativeStyle(); var style = Style; style.OnAttaching(target); _runtimeSetters = new RuntimeSetterCollection(_styleService.Setters, interactivityService); _runtimeSetters.Load(); // Service has detached if (Target == null) { return; } _runtimeTriggers = new RuntimeTriggerCollection(_styleService.Triggers, interactivityService); _runtimeTriggers.Load(); style.OnAttached(target); }
private void Detach() { var target = Target; var style = Style; style.OnDetaching(target); _runtimeSetters?.Unload(); _runtimeTriggers?.Unload(); _runtimeSetters = null; _runtimeTriggers = null; style.OnDetached(target); }