简单地说...
private void LoadImage(object sender, EventArgs e){
String path = null;
Microsoft.Win32.OpenFileDialog oFD = new ...();
if(oFD.showDialog == true){
path = oFD.FileName;
result = new BitmapImage(new Uri(path));
Array.Resize(ref frames, frames.Length + 1);
frames.Append<BitmapSource>(result);
}
Refresh();
}
private void Refresh(){
BitmapSource bg = frames[curFrame]; //i.e. curFrame = 0;
}
我希望 bg 在调用 Refresh(( 时不会为空。我捕获了所有相关异常,除了 bg 为空,其中我不希望 bg 在程序执行时为空。
在这种情况下,
调用 Array.Append(object( 是我出现问题的原因。我不知道它的用途,但我假设(错误地(它将对象附加到任何数组的末尾。
我用以下内容替换了该行,我的代码按预期运行。
frames[frames.Length - 1] = result;