原文: 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");
容易寫錯
程式啟動

點選顯示
這樣做對于要加載大量的圖檔,而不是在使用者需要顯示,可以先延遲,到了需要再加載,這樣加快了速度。
參考:
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>