我正在使用 C# 和 WPF,并试图沿屏幕滑动图像条。老实说,我从 Internet 上的一些代码示例中获取了代码,并从中获取了我需要的部分。
public double ImageOffset
{
get
{
try
{
return (double)this.Dispatcher.Invoke(
System.Windows.Threading.DispatcherPriority.Background,
(DispatcherOperationCallback)delegate
{ return GetValue(ImageOffsetProperty); }, ImageOffsetProperty);
}
catch
{
return (double)this.GetValue(ImageOffsetProperty);
}
}
set
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Background,
(SendOrPostCallback)delegate
{ SetValue(ImageOffsetProperty, (object)value); },
(object)value);
}
}
有时当程序试图获取 ImageOffsetPropertyInvalidOperationException: Cannot perform this operation while dispatcher processing is suspended
时,我不知道如何修复它。
我也尝试过Dispatcher.BeginInvoke
,将 ImageOffsetProperty 保存在 Double 中,然后返回它,但它总是返回 0。
是什么原因造成的InvalidOperationException
?