C# 如何在UWP中更新页面上的图像?

C# 如何在UWP中更新页面上的图像?,c#,uwp,windows-10-universal,C#,Uwp,Windows 10 Universal,我有一个GridviewItem。此GridviewItem的背景为ImageBrush。现在我想在单击某个按钮时将此ImageBrush更改为新源 为此,我使用: blck.Background = new ImageBrush(new BitmapImage(new Uri("ms-appx:///Assets/SensorBG.png"))); 它确实可以工作,但新图像仅在我单击相应的GridviewItem时显示。有人能告诉我如何在不点击GridviewItem的情况下更新它吗 我已经

我有一个GridviewItem。此GridviewItem的背景为ImageBrush。现在我想在单击某个按钮时将此ImageBrush更改为新源

为此,我使用:

blck.Background = new ImageBrush(new BitmapImage(new Uri("ms-appx:///Assets/SensorBG.png")));
它确实可以工作,但新图像仅在我单击相应的GridviewItem时显示。有人能告诉我如何在不点击GridviewItem的情况下更新它吗

我已经尝试将其放入此块中,但没有成功:

            CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
            () =>
            {
                blck.Background = new ImageBrush(new BitmapImage(new Uri("ms-appx:///Assets/SensorBG.png")));
            }
            );

最好的方法是,如果您已经用合适的属性定义了ItemClass,并实现了INotifyPropertyChanged——使用合适的绑定,每次更改都会更新UI。下面是一个小示例—XAML:

以及背后的代码:

公共密封部分类主页面:第页 { 公共列表项=新列表; 公共主页 { Items.Addnew ItemClass{Name=第一项,Image=新BitmapImagenew Urims-appx:///Assets/StoreLogo.png }; Items.Addnew ItemClass{Name=第二项,Image=新BitmapImagenew Urims-appx:///Assets/StoreLogo.png }; this.InitializeComponent; } 私有无效按钮\u单击对象发件人,RoutedEventArgs e=>Items[1]。Image=new BitmapImagenew Urims-appx:///test.jpg; } 公共类ItemClass:INotifyPropertyChanged { 公共事件属性更改事件处理程序属性更改; private void RaisePropertystring name=>PropertyChanged?.Invokethis,new PropertyChangedEventArgsname; 私有图像源图像; 公共图像源图像 { 获取{返回图像;} 设置{image=value;RaisePropertynameofImage;} } 公共字符串名称{get;set;} }