【发布时间】:2020-01-28 22:14:15
【问题描述】:
我的应用是 c# 通用或 Uwp 。我有 10 张图片,我想要当有人单击下一步按钮时,在图片框中的图片完全加载之前,进度环显示给客户。并且当它加载时,Progress Ring Disabled 。我怎样才能做到这一点?
【问题讨论】:
-
你可以,有一个工具包,但你需要先添加你的代码,这样其他人才能提供清晰的解决方案。
我的应用是 c# 通用或 Uwp 。我有 10 张图片,我想要当有人单击下一步按钮时,在图片框中的图片完全加载之前,进度环显示给客户。并且当它加载时,Progress Ring Disabled 。我怎样才能做到这一点?
【问题讨论】:
您可以将Image 放入Grid,如下所示
<Grid>
<ProgressRing IsActive="True"/>
<Image Source="ms-appx:///Images/Image.png" Loaded="HideProgressRing"/>
</Grid>
并在Loaded 事件引发时隐藏ProgressRing。
【讨论】:
根据您的要求,您可以使用XamlBehaviors 来控制xaml 代码中的ProgressRing,请注意图像控件将在源加载完成时调用ImageOpened 事件。详情请参考以下内容。
xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:Interactions="using:Microsoft.Xaml.Interactions.Core"
<Grid>
<ProgressRing x:Name="Ring" IsActive="True"/>
<Image Source="https://xxxxxxxx.com/full/38192.jpg">
<Interactivity:Interaction.Behaviors>
<Interactions:EventTriggerBehavior EventName="ImageOpened">
<Interactions:ChangePropertyAction TargetObject="{Binding ElementName=Ring}" PropertyName="IsActive" Value="False"/>
</Interactions:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Image>
</Grid>
【讨论】: