从后面的代码附加Image / ImageBrush

我正在尝试添加一个Image作为UserControl的背景。 根据我需要更改背景的变量的值,但无论我使用的路径或Uri格式如何,背景都不会改变。

我在stackoverflow中看到了很多问题,但没有一个能解决我的问题。 我让代码如下:

if (callback.liveUvis.ContainsUVI(uvi)) { this.Status.Text = "LIVE"; ImageBrush imgB = new ImageBrush(); BitmapImage btpImg = new BitmapImage(); btpImg.UriSource = new Uri(@"///IMG///Live///bck_frame_info_video_live.png", UriKind.Relative); //imgB.ImageSource = new BitmapImage(new Uri("~/IMG/Live/bck_frame_info_video_live.png", UriKind.RelativeOrAbsolute)); //imgB.ImageSource = new BitmapImage(new Uri("ms-appx:///IMG/Live/bck_frame_info_video_live.png")); imgB.ImageSource = btpImg; this.Background = imgB; } 

我在尝试附加图像时遇到了同样的问题…我想这也取决于Uri格式,但是我还是让代码以防万一:)

  private void setIcon_Desc(string dd) { try { Image img = new Image(); img.Source = new BitmapImage(new Uri(this.BaseUri, "IMG/pictos_small/white/160dpi/" + dd + ".png")); img.Stretch = Stretch.None; this.Icon = img; this.Sport.Text = callback.disc.getDescription(dd).ToUpper(); } catch(Exception ex) { callback.exception.writeExceptions(ex); } } 

提前致谢!

我可以在更改用户控件的背景时重现您的问题。

我使用的当前解决方法是更改​​控件中的根UIElement的背景。

      Hello World     

 public sealed partial class MyUserControl : UserControl { public MyUserControl() { this.InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { ImageBrush imgB = new ImageBrush(); BitmapImage btpImg = new BitmapImage(); btpImg.UriSource = new Uri(@"ms-appx:///images/bg-light-blue.png"); imgB.ImageSource = btpImg; container.Background = imgB; } }