使用数据绑定监听事件
Listen events on with data binding
我有一个具有以下模板的列表视图:
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Width="50"
Height="50"
Source="{Binding Source}" />
<ProgressRing Width="50" Height="50" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
此时视图模型是:
public class RowViewModel
{
private string url;
public RowViewModel(string url)
{
this.url = url;
}
public Uri Source
{
get
{
return new Uri(url, UriKind.Absolute);
}
}
}
我想听图像加载开始和结束,以便显示或折叠进度环。
我该怎么做?
谢谢
我认为没有必要将进度环设置为可见 - 它最初可以只是可见。 Image
具有事件 ImageOpened
(成功下载时触发)和 ImageFailed
(出现错误时触发)。
如果你想非常精确地只显示当前正在下载的图片的进度圈,你将不得不在代码中处理下载,而不是依赖于内置的下载和-缓存机制。
我有一个具有以下模板的列表视图:
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Width="50"
Height="50"
Source="{Binding Source}" />
<ProgressRing Width="50" Height="50" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
此时视图模型是:
public class RowViewModel
{
private string url;
public RowViewModel(string url)
{
this.url = url;
}
public Uri Source
{
get
{
return new Uri(url, UriKind.Absolute);
}
}
}
我想听图像加载开始和结束,以便显示或折叠进度环。 我该怎么做?
谢谢
我认为没有必要将进度环设置为可见 - 它最初可以只是可见。 Image
具有事件 ImageOpened
(成功下载时触发)和 ImageFailed
(出现错误时触发)。
如果你想非常精确地只显示当前正在下载的图片的进度圈,你将不得不在代码中处理下载,而不是依赖于内置的下载和-缓存机制。