由于此视图上有强大的第三方控制权,我的UI需要很长时间。
所以我试图通过在IsStillLoading = true的属性时使用Temp Grid来解决它
当IsStillLoading = false时,网格将被第三方控件替换
我是通过使用DataTemplates
来实现的<Style x:Key="ViewLoadingHelper" TargetType="{x:Type ContentControl}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsDataLoading}" Value="true">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Grid x:Name="DummyBeforeLoad" Background="LightGray" >
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsDataLoading}" Value="false">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<myThirdPartyControl/>
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
<Grid>
<ContentControl Style="{StaticResource ViewLoadingHelper}"/>
</Grid>
我有两个问题:
1)这是正确的方法吗?或者你会以不同的方式做到这一点吗?
2)我可以在哪里获得或这个模糊的占位符叫什么。
我目前正在使用灰色网格,但是例如当你查看Facebook时,点击浏览器上的刷新。在看到真实帖子之前,您将看到一个虚拟/占位符帖子列表。这是我的想法,并希望实现这一点。