private void Border_OnMouseLeave(object sender, MouseEventArgs e) { if (!(sender is Border border)) { return; } InfoBubbleViewModel.NodeMessageVisibility nodeMessageVisibility = InfoBubbleViewModel.NodeMessageVisibility.Icon; HorizontalAlignment horizontalAlignment = HorizontalAlignment.Left; switch (border.Name) { case "InfoBorder": InfoBorder.HorizontalAlignment = horizontalAlignment; ViewModel.NodeInfoVisibilityState = nodeMessageVisibility; break; case "WarningsBorder": WarningsBorder.HorizontalAlignment = horizontalAlignment; ViewModel.NodeWarningsVisibilityState = nodeMessageVisibility; break; case "ErrorsBorder": ErrorsBorder.HorizontalAlignment = horizontalAlignment; ViewModel.NodeErrorsVisibilityState = nodeMessageVisibility; break; default: return; } e.Handled = true; }
private void Border_OnMouseEnter(object sender, MouseEventArgs e) { if (!(sender is Border border)) { return; } InfoBubbleViewModel.NodeMessageVisibility collapsed = InfoBubbleViewModel.NodeMessageVisibility.CollapseMessages; InfoBubbleViewModel.NodeMessageVisibility icon = InfoBubbleViewModel.NodeMessageVisibility.Icon; HorizontalAlignment stretch = HorizontalAlignment.Stretch; HorizontalAlignment left = HorizontalAlignment.Left; bool isIcon; switch (border.Name) { case "InfoBorder": isIcon = ViewModel.NodeInfoVisibilityState == InfoBubbleViewModel.NodeMessageVisibility.Icon; ViewModel.NodeInfoVisibilityState = isIcon ? collapsed : icon; break; case "WarningsBorder": isIcon = ViewModel.NodeWarningsVisibilityState == InfoBubbleViewModel.NodeMessageVisibility.Icon; ViewModel.NodeWarningsVisibilityState = isIcon ? collapsed : icon; break; case "ErrorsBorder": isIcon = ViewModel.NodeErrorsVisibilityState == InfoBubbleViewModel.NodeMessageVisibility.Icon; ViewModel.NodeErrorsVisibilityState = isIcon ? collapsed : icon; break; default: return; } border.HorizontalAlignment = isIcon ? stretch : left; ViewModel.NodeWarningsShowLessMessageVisible = false; e.Handled = true; }