private static void OnAdornmentLocationPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { AdornmentLogo currentLogo = (AdornmentLogo)sender; AdornmentLocation newLocation = (AdornmentLocation)e.NewValue; switch (newLocation) { case AdornmentLocation.UseOffsets: case AdornmentLocation.UpperLeft: currentLogo.HorizontalAlignment = HorizontalAlignment.Left; currentLogo.VerticalAlignment = VerticalAlignment.Top; break; case AdornmentLocation.UpperCenter: currentLogo.HorizontalAlignment = HorizontalAlignment.Center; currentLogo.VerticalAlignment = VerticalAlignment.Top; break; case AdornmentLocation.UpperRight: currentLogo.VerticalAlignment = VerticalAlignment.Top; currentLogo.HorizontalAlignment = HorizontalAlignment.Right; break; case AdornmentLocation.CenterLeft: currentLogo.HorizontalAlignment = HorizontalAlignment.Left; currentLogo.VerticalAlignment = VerticalAlignment.Center; break; case AdornmentLocation.Center: currentLogo.HorizontalAlignment = HorizontalAlignment.Center; currentLogo.VerticalAlignment = VerticalAlignment.Center; break; case AdornmentLocation.CenterRight: currentLogo.HorizontalAlignment = HorizontalAlignment.Right; currentLogo.VerticalAlignment = VerticalAlignment.Center; break; case AdornmentLocation.LowerLeft: currentLogo.HorizontalAlignment = HorizontalAlignment.Left; currentLogo.VerticalAlignment = VerticalAlignment.Bottom; break; case AdornmentLocation.LowerCenter: currentLogo.HorizontalAlignment = HorizontalAlignment.Center; currentLogo.VerticalAlignment = VerticalAlignment.Bottom; break; case AdornmentLocation.LowerRight: default: currentLogo.HorizontalAlignment = HorizontalAlignment.Right; currentLogo.VerticalAlignment = VerticalAlignment.Bottom; break; } }
private static void OnTopPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { AdornmentLogo currentLogo = (AdornmentLogo)sender; currentLogo.Margin = new Thickness(currentLogo.Left, (int)e.NewValue, -currentLogo.Left, -(int)e.NewValue); }