WPF Temp PlaceHolder用于第三方控制加载到long

时间:2017-06-28 07:30:52

标签: wpf datatemplate

由于此视图上有强大的第三方控制权,我的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时,点击浏览器上的刷新。在看到真实帖子之前,您将看到一个虚拟/占位符帖子列表。这是我的想法,并希望实现这一点。

0 个答案:

没有答案