我是一名新手。在我的wpf应用程序中,我有从网络加载的图像。为了避免gui阻塞,我按照How can I keep a WPF Image from blocking if the ImageSource references an unreachable Url?
中提到的方法进行了操作效果很好。问题是,在图像加载之前,gui不支持在Image节点中设置的维度属性。最终结果是一种'调整大小'的影响 - 最初gui(元素)是一个大小,并且一旦加载图像就'重新调整'。
我希望让负载“平稳”。我希望能够指定“初始默认”图像。像initial image in WPF Image Control
这样的东西然而,我无法让它发挥作用。在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,
});
}
});
我有什么选择?
答案 0 :(得分:0)
尝试将图像元素MinWidth和MaxWidth设置为所需的大小。