在运行时更改按钮的图像背景.C# wpf.这将取决于数据库



>我有这段代码,我可以根据数据库中的数据更改按钮的内容。

using (MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT GarmentName FROM tblthesis", conn))
{
    ds = new DataSet();
    adapter.Fill(ds);
    MainWindow mainWin = new MainWindow();
    foreach (DataRow dataRow in ds.Tables[0].Rows)
    {
        Button button = new Button();
        button.Content = dataRow[0].ToString();
        button.BorderThickness = new Thickness(7, 7, 7, 7);
        button.Background = new SolidColorBrush(Colors.Transparent);
        button.Width = 195;
        mainWin.sp.Children.Add(button);
    }
}

我尝试使用此代码更改图像,但没有数据库。

 var IB= new ImageBrush();
 IB.ImageSource = new BitmapImage(new Uri(@"Images/myImage.png", UriKind.Relative)); 
 btnSample.Background = IB;

有人可以根据我的数据库帮我更改背景图像吗?

以下是从字节数组创建BitmpImage的方法:

byte[] imageBuffer = ... // read this as BLOB from your DB
var bitmapImage = new BitmapImage();
using (var memoryStream = new MemoryStream(imageBuffer))
{
    bitmapImage.BeginInit();
    bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
    bitmapImage.StreamSource = memoryStream;
    bitmapImage.EndInit();
}
btnSample.Background = new ImageBrush(bitmapImage);

最新更新