我遇到了在 UserControl 和页面加载之间动态更改位图图像的问题。
我正在使用调度程序计时器来保持图像的变化。但是它不起作用。该错误表明我的 uriSource 为空。
我正在使用 ms visual studio 2012,metro 应用程序 c#
UserControl xaml 中的代码:
<Image x:Name="img">
<Image.Source>
<BitmapImage UriSource="{Binding Path=BitmapImage}" />
</Image.Source>
</Image>
用户控件中的代码:
public BitmapImage BitmapImage
{
get { return _bitmapImage; }
set
{
if (_bitmapImage == value) return;
_bitmapImage = value;
RaisePropertyChanged("BitmapImage");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
页面加载中的代码:
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;
}