private void toggleButton_Loaded(object sender, RoutedEventArgs e) { //查找默认三角区域的容器 ToggleButtonBoreder = ExpandToggleButton.FindVisualChild <Border>(); if (ToggleButtonBoreder != null) { //需要设置所有父容器的对齐,因为设置为物理像素对齐后,默认对齐为,左 上 ExpandToggleButton.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; ExpandToggleButton.VerticalAlignment = System.Windows.VerticalAlignment.Top; //手动设置居中 //toggleButton.Margin = new Thickness(4, 4, 0, 0); //取消默认的Border的边框,使其可以手动计算位置 ToggleButtonBoreder.Padding = new Thickness(0); ToggleButtonBoreder.BorderThickness = new Thickness(0); //设置图片显示的宽高,跟实际图片大小相同,保证图片正常显示 ToggleButtonBoreder.Width = 9; ToggleButtonBoreder.Height = 9; ToggleButtonBoreder.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; ToggleButtonBoreder.VerticalAlignment = System.Windows.VerticalAlignment.Top; //取消默认的三角形显示 ToggleButtonBoreder.Child = null; //设置新的背景 SetMouseUnOverImage(); } }