如何为从服务加载的图像设置占位符图像?

时间:2014-03-13 10:26:04

标签: c# windows-runtime

我使用绑定作为Image控件的源。

<Image Source="{Binding ImageUri}"/>

但是我的图像源从服务中获取图像,因此需要花时间加载图像,同时我想显示我的占位符图像。如何在Winrt应用程序中执行此操作。

提前致谢。

3 个答案:

答案 0 :(得分:0)

我不知道确切的解决方案。但你可以通过这项工作来做到这一点。

将图像放入网格中,该网格将背景作为默认图像。

<Grid Width="104" Height="104" >
<Grid.Background>
    <ImageBrush ImageSource="/Assets/DefaultImage.png"/>
</Grid.Background>
<Image Source="{Binding ImgSrc,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Stretch="Uniform" />

答案 1 :(得分:0)

方法1: 此外,您可以使用ImageFailed事件进行图像控制。 您可以使用XAML中的“行为”来实现这一目标,以获得无忧解决方案。

方法2: 您还可以使用Binding.TargetNullValue来实现您的要求。

<Image>
    <Image.Source>
        <Binding Path="ImagePath" >
            <Binding.TargetNullValue>
                <ImageSource>/Assets/DefaultImage.png</ImageSource>
            </Binding.TargetNullValue>
        </Binding>
    </Image.Source>
</Image>

答案 2 :(得分:0)

对于UWP,有ImageEx控件(在Windows Community Toolkit中)。

return db.ref('Global/Cuisine').once('value').then(cuisineList =>{
     console.log(`Value cuisineList --> ${JSON.stringify(cuisineList)}`);
     //print Value cuisineList --> null
     if(cuisineList == null){
         console.log(`Doesn't exists`);
         //Do stuff

     }else{
         console.log(`Exists`);
         //do stuff
     }
})