Мигающая кнопка и синий цвет подсветки являются частью стиля кнопки по умолчанию и для ее изменения вам необходимо переопределить стиль по умолчанию. Я бы предложил создать стиль в XAML, а затем назначить его программно. Вы можете получить стиль кнопки по умолчанию here, а затем посмотреть this post о том, как программировать стиль.
Update: Это, кажется, работает для меня, и вот что я сделал:
Создать кнопку проблемно в задней код и установить стиль:
public MainWindow()
{
InitializeComponent();
Bitmap bitMap = new Bitmap(@"\path\to\image.png");
MemoryStream ms = new MemoryStream();
bitMap.Save(ms, ImageFormat.Png);
ms.Seek(0,SeekOrigin.Begin);
BitmapImage bitMapImage = new BitmapImage();
bitMapImage.BeginInit();
bitMapImage.StreamSource = ms;
bitMapImage.EndInit();
Image image = new Image();
image.Source = bitMapImage;
image.Height = 100;
Button button = new Button();
button.Height = 200;
button.Width = 200;
button.Content = image;
button.Style = button.Style = (Style)FindResource("myButtonStyle");
myGrid.Children.Add(button);
}
Создание стиля в XAML, копируя и вставляя стиль кнопки, предоставляемый Microsoft и изменяя поведение, как вы хотите. Чтобы отключить мышь от эффекта, я прокомментировал раздел <VisualState x:Name="MouseOver"> ... </VisualState>
<Style x:Key="myButtonStyle" TargetType="Button">
<!-- Style copied from MSDN Button Style page -->
<!-- Remove or comment out <Setter Property="FocusVisualStyle" Value="{StaticResource ButtonFocusVisual}" /> -->
<!-- Remove or comment out <VisualState x:Name="MouseOver> ... </VisualState>
<!-- Change colors to your liking or set to Transparent to not show color -->
....
</Style>
что редактируется? – Bene
Отт, теги были отредактированы. – dsolimano