Динамически созданная кнопка в WPF - PullRequest
1 голос
/ 15 февраля 2012

Я пытаюсь немного поработать с WPF, до сих пор только реально выполнял формы Windows, и не так уж много ...

Все, что я пытаюсь сделать, это динамически внутри кода (неxaml) установите кнопку для показа изображения и установите для размера кнопки автоматический размер изображения.

Приведенный ниже код загружает изображение, но оно появляется, когда мышь находится над кнопкой, а кнопка не 't auto size to image.

tbButtonPicture содержит локальный путь на компьютере к растровому изображению, например, C:\temp\my Artwork\test1.bmp

Это то, что я пока имею, которое находится внутри цикла:

Console.WriteLine(tbButtonPicture);
System.Windows.Controls.Button newBtn = new Button();
//newBtn.Content = i.ToString();
newBtn.Background = new ImageBrush(new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(this), tbButtonPicture)));
newBtn.Name = "Button" + i.ToString();
sp.Children.Add(newBtn);

i++;

1 Ответ

2 голосов
/ 15 февраля 2012

Оберните ваше изображение в элемент управления Image и установите его в качестве содержимого кнопки, и вы должны получить желаемый эффект.

  System.Windows.Controls.Button newBtn = new Button();
  Image imageControl = new Image();
  imageControl.Source = new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(this), tbButtonPicture));
  newBtn.Content = imageControl;
  newBtn.Name = "Button" + i.ToString();
  sp.Children.Add(newBtn);

  i++;

Но я полностью согласен с приведенными выше комментариями: попробуйте решить ваши проблемы в xamlнамного прощеПрочитайте предлагаемые ресурсы, они действительно полезны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...