天天看點

Win10 UWP xaml 延遲加載元素

原文: Win10 UWP xaml 延遲加載元素 xaml新增

x:DeferLoadStrategy

裡面隻有

Lazy

,查詢了百度看到MSP_甄心cherish大神說的

xaml使用

x:DeferLoadStrategy="Lazy"

延遲加載元素

我寫了代碼

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition Height="auto"/>
        </Grid.RowDefinitions>
        <Image x:Name="ximg1" Source="/assets/1.jpg" Grid.Row="0" Margin="10,10,10,10"/>
        <Image x:Name="ximg2" Source="/assets/2.jpg" Grid.Row="1" Margin="10,10,10,10" x:DeferLoadStrategy="Lazy"/>
        <Button Content="顯示" Grid.Row="2" Margin="10,10,10,10" HorizontalAlignment="Right" Click="Button_Click"/>
    </Grid>           

ximg1顯示,ximg2不顯示

點選按鈕就顯示ximg2

1.jpg和2.jpg都是随意的圖檔

這樣和原先的

Visibility="Collapsed"

沒有顯示可是有加載好在不浪費資源,可以到用到才加載。

點選button

private void Button_Click(object sender , RoutedEventArgs e)
        {
            FindName(nameof(ximg2));
        }           

如果寫

FindName("ximg2");

容易寫錯

程式啟動

Win10 UWP xaml 延遲加載元素

點選顯示

Win10 UWP xaml 延遲加載元素

這樣做對于要加載大量的圖檔,而不是在使用者需要顯示,可以先延遲,到了需要再加載,這樣加快了速度。

參考:

http://blog.csdn.net/zmq570235977/article/details/47404437

<script type="text/javascript">

$(function () {

$('pre.prettyprint code').each(function () {

var lines = $(this).text().split('\n').length;

var $numbering = $('<ul/>').addClass('pre-numbering').hide();

$(this).addClass('has-numbering').parent().append($numbering);

for (i = 1; i <= lines; i++) {

$numbering.append($('<li/>').text(i));

};

$numbering.fadeIn(1700);

});

});

</script>

繼續閱讀