C# 动态更改位图图像
我遇到了在UserControl和页面加载之间动态更改位图图像的问题 我正在使用调度计时器来保持图像的更改。但是,它不起作用。错误声明我的URI源为空 我正在使用ms visual studio 2012,metro应用程序c# UserControl xaml中的代码:C# 动态更改位图图像,c#,windows-8,C#,Windows 8,我遇到了在UserControl和页面加载之间动态更改位图图像的问题 我正在使用调度计时器来保持图像的更改。但是,它不起作用。错误声明我的URI源为空 我正在使用ms visual studio 2012,metro应用程序c# UserControl xaml中的代码: <Image x:Name="img"> <Image.Source> <BitmapImage UriSource="{Binding Path=
<Image x:Name="img">
<Image.Source>
<BitmapImage UriSource="{Binding Path=BitmapImage}" />
</Image.Source>
</Image>
页面加载中的代码:
int eyesState = 1;
private void minionAnimation_Tick(object sender, object e)
{
if (eyesState == -1)
{
ghosts[0]._bitmapImage.UriSource = new Uri(this.BaseUri, @"Assets/test.png");
}
else
{
ghosts[0]._bitmapImage.UriSource = new Uri(this.BaseUri, @"Assets/test2.png");
}
eyesState *= -1;
}
尝试:
XAML:
在计时器中:
ghosts[0].BitmapImageUri = new Uri(this.BaseUri, @"Assets/test.png");
你检查过没有吗?嗨@Tigran,你指的是“PropertyChanged!=null”吗?抱歉,我对这一点还是新手。我的意思是,comiler引用的实际值不是nullHi,@Tigran错误点位于重影[0]。\u bitmapImage.UriSource。。。它说“对象引用未设置为对象的实例”。我希望这能回答您的问题。似乎ghost[0]是nul。在行上放置断点,并检查重影[0]是否包含值或是否为null。
<BitmapImage UriSource="{Binding Path=BitmapImageUri}" />
private Uri _bitmapImageUri;
public Uri BitmapImageUri
{
get { return _bitmapImageUri; }
set
{
if (_bitmapImageUri == value) return;
_bitmapImageUri= value;
RaisePropertyChanged("BitmapImageUri");
}
}
ghosts[0].BitmapImageUri = new Uri(this.BaseUri, @"Assets/test.png");