Я хочу создать изображение в виде кнопки в коде в C # WPF (не кнопку с изображением BG, а реальное изображение). Я читал на этом сайте, чтобы использовать PictureBox для изображения, и я обнаружил, что эквивалент WPF это Image. Проблема в том, что, хотя я обнаружил, что PictureBox имеет .Click, который вы можете установить, Image - нет. Две вещи, которые я хочу сделать:
- Создайте массив кнопок, которые являются изображениями и могут быть нажаты.
- Иметь изображение для не нажатых и нажатых состояний кнопки.
Есть ли что-то прямо передо мной, что мне не хватает?
Вот мой цикл создания кнопок:
sideBarButtons = new Button[infoLoader.categoriesLength];
sideButtons = new Image[infoLoader.categoriesLength];
ImageBrush[] myBg = new ImageBrush[infoLoader.categoriesLength];
for (int i = 0; i < sideBarButtons.Length; i++)
{
myBg[i] = new ImageBrush();
myBg[i].ImageSource = new BitmapImage(graphicLoader.buttonUnselected[(i % myBg.Length)]);
/*sideBarButtons[i] = new Button();
sideBarButtons[i].Content = infoLoader.categories[i].name;
sideBarButtons[i].Background = myBg[i];
//sideBarButtons[i].BorderThickness = ;
sideBarButtons[i].Width = 155;
sideBarButtons[i].Height = 46;
Canvas.SetLeft(sideBarButtons[i], 30);
Canvas.SetTop(sideBarButtons[i], 10 + (46 * i));
sideBarButtons[i].Click += new RoutedEventHandler(this.SideButton_Click);
leftSideBar.Children.Add(sideBarButtons[i]);*/
BitmapImage myBmp = new BitmapImage();
myBmp.BeginInit();
myBmp.UriSource = myBg[i];
myBmp.EndInit();
sideButtons[i] = new Image();
sideButtons[i].Source = myBmp;
sideButtons[i].Width = 155;
sideButtons[i].Height = 46;
Canvas.SetLeft(sideButtons[i], 30);
Canvas.SetTop(sideButtons[i], 10 + (46 * i));
sideButtons[i].Click += new RoutedEventHandler(this.SideButton_Click);
leftSideBar.Children.Add(sideButtons[i]);
}
Первая закомментированная область - это когда я создавал кнопки с кнопками, а не с изображениями, а вторая - с изображениями, и она не работает. Заранее спасибо.