void TryCreateRegion() { var targetElement = TargetElement; if (targetElement == null) { Detach(); return; } if (targetElement.CheckAccess()) { Detach(); if (!_regionCreated) { string regionName = RegionManagerAccessor.GetRegionName(targetElement); CreateRegion(targetElement, regionName); _regionCreated = true; } } }
IRegionManager FindRegionManager(DependencyObject dependencyObject) { var regionmanager = RegionManagerAccessor.GetRegionManager(dependencyObject); if (regionmanager != null) { return(regionmanager); } DependencyObject parent = null; #if HAS_WINUI parent = VisualTreeHelper.GetParent(dependencyObject); #else parent = LogicalTreeHelper.GetParent(dependencyObject); #endif if (parent != null) { return(FindRegionManager(parent)); } return(null); }