0

我是wpf新手。在我的 wpf 应用程序中,我有从网络加载的图像。为避免 gui 阻塞,我按照 如何在 ImageSource 引用无法访问的 Url 时如何防止 WPF 图像阻塞?

效果很好。问题是,在图像加载之前,gui 不支持在 Image 节点中设置的尺寸属性。最终结果是一种“调整大小”的影响——最初,gui(元素)是一种大小,一旦加载图像,就会“重新调整”。

我希望使负载“顺利”。我希望能够指定“初始默认”图像。类似于WPF 图像控件中的初始图像

但是我无法让它工作。在 ImageAsyncHelper 中可能类似于下面的内容(这显然是错误的):

    public static readonly DependencyProperty SourceUriProperty = DependencyProperty.RegisterAttached("SourceUri", typeof(Uri), typeof(ImageAsyncHelper), new PropertyMetadata
    {
        PropertyChangedCallback = (obj,e) =>
        {
            ((Image)obj).SetBinding(Image.SourceProperty,
                new Binding("DefaultUri")
                {
                    Source = new Uri("pack://application:,,,/blah/Images/Default.gif", UriKind.RelativeOrAbsolute)
                });

        }

        PropertyChangedCallback += (obj, e) =>
        {
            ((Image)obj).SetBinding(Image.SourceProperty,
              new Binding("VerifiedUri")
              {
                  Source = new ImageAsyncHelper { GivenUri = (Uri)e.NewValue },
                  IsAsync = true,
              });
        }
    });

我有哪些选择?

4

1 回答 1

0

尝试将 Image 元素 MinWidth 和 MaxWidth 设置为所需的大小。

于 2013-04-11T00:45:10.830 回答