C# XAML绑定中的ImageSource问题Windows phone
我有以下XAML代码:C# XAML绑定中的ImageSource问题Windows phone,c#,xaml,mvvm,C#,Xaml,Mvvm,我有以下XAML代码: <Image x:Name="armImage" Source="{Binding PlayerImage}"> </Image> 我是这样设置的: private void GameStarted(object sender, EventArgs.GameStartedEventArgs e) { if (e.IsUIHidden) { MainPlayer = new Player(0, n
<Image x:Name="armImage" Source="{Binding PlayerImage}">
</Image>
我是这样设置的:
private void GameStarted(object sender, EventArgs.GameStartedEventArgs e)
{
if (e.IsUIHidden)
{
MainPlayer = new Player(0, new Uri("/Images/arm.bmp", UriKind.Relative));
this.PlayerImage = DisplayImage(MainPlayer.ImageUri);
}
}
其中DisplayImage方法如下所示:
private BitmapImage DisplayImage(Uri imageUri)
{
if (imageUri != null)
{
return new BitmapImage(imageUri);
}
else
{
throw new InvalidOperationException();
}
}
问题如下-当我设置属性PlayerImage时,UI中的图像没有改变。我尝试在没有MVVM模式的情况下执行此操作,Uri工作,图像显示,但当我尝试这样做时,它不起作用?您的属性名称是
PlayerImage
而不是playerimageri
在PropertyChanged
调用中更改它
this.PropertyChanged(this, new PropertyChangedEventArgs("PlayerImageUri"));
应该是
this.PropertyChanged(this, new PropertyChangedEventArgs("PlayerImage"));
非常好的通知,谢谢。但这并不能解决问题。仍然得到相同的结果>>我想知道UI是否知道发生了更改,因为图像控件上的更新源触发器不包含“属性更改”选项?@user3313838 UpdateSourcetrigger确实包含PropertyChanged选项。如果你认为这是个问题。您可以这样设置
Source=“{Binding PlayerImage,UpdateSourceTrigger=PropertyChanged}”
我在图像控件上没有得到这样的可能性-我得到了可用的“default”和“explicit”选项。@user331338我没有注意到您正在为windows phone开发。Windows phone似乎没有updatesourcetrigger
。但是有一种方法可以updatesource
查看此链接
this.PropertyChanged(this, new PropertyChangedEventArgs("PlayerImage"));