最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解WPF如何在基礎(chǔ)控件上顯示Loading等待動畫

 更新時間:2023年04月13日 11:42:38   作者:WPF開發(fā)者  
這篇文章主要為大家詳細介紹了WPF如何在基礎(chǔ)控件上顯示Loading等待動畫的效果,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,需要的可以參考一下

WPF 如何在基礎(chǔ)控件上顯示 Loading 等待動畫

  • 框架使用.NET4 至 .NET6
  • Visual Studio 2022;
  • 使用方式需引入命名空間后設(shè)置控件的附加屬性 wd:Loading.IsShow="true",即可顯示默認等待動畫效果如下:

  • 如需自定義 Loading 一定要 先設(shè)置 wd:Loading.Child 在設(shè)置 IsShow="true" 。
  • 顯示不同 Loading 內(nèi)容需 wd:Loading.Child ={x:Static wd:NormalLoading.Default} 進行復(fù)賦值顯示 NormalLoading 效果如下:

實現(xiàn)代碼

1)創(chuàng)建 BasicControlsExample.xaml 代碼如下:

<UserControl?x:Class="WPFDevelopers.Samples.ExampleViews.BasicControlsExample"
?????????????xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
?????????????xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
?????????????xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"?
?????????????xmlns:d="http://schemas.microsoft.com/expression/blend/2008"?
?????????????xmlns:local="clr-namespace:WPFDevelopers.Samples.ExampleViews"
?????????????xmlns:wpfdev="https://github.com/WPFDevelopersOrg/WPFDevelopers"
?????????????xmlns:controls="clr-namespace:WPFDevelopers.Samples.Controls"
?????????????mc:Ignorable="d"??Background="{DynamicResource?BackgroundSolidColorBrush}"
?????????????d:DesignHeight="450"?d:DesignWidth="800"?Name="MyBasicControls">
<TextBlock?Text="Loading"?FontSize="20"?Margin="0,20,0,0"/>
????????????????????<WrapPanel?Margin="0,10">
????????????????????????<Button?Content="Loading"?Click="Loading_Click"?
????????????????????????????Style="{DynamicResource?PrimaryButton}"/>
????????????????????????<Button?Name="btnLoadingTask"?Content="LoadingTask"?Click="LoadingTask_Click"?
????????????????????????????????Style="{DynamicResource?SuccessPrimaryButton}"?Margin="10,0"/>
????????????????????????<Button?Name="btnLoading"?Click="BtnLoading_Click"?Content="AddLoading"
????????????????????????????????wpfdev:Loading.Child="{x:Static?wpfdev:NormalLoading.Default}"
????????????????????????????????Style="{DynamicResource?WarningPrimaryButton}"/>
????????????????????????<Button?Name="btnOffTask"?Click="BtnOffTask_Click"?
????????????????????????????????Margin="10,0"?Content="Off?Task"
????????????????????????????????Style="{DynamicResource?DangerPrimaryButton}"/>
????????????????????</WrapPanel>
??</UserControl>

2)邏輯 BasicControlsExample.xaml.cs 代碼如下:

對控件進行等待動畫。

??private?void?Loading_Click(object?sender,?RoutedEventArgs?e)
??????{
??????????var?task?=?new?Task(()?=>?{?Thread.Sleep(5000);?});
??????????task.ContinueWith(previousTask?=>?
??????????{
??????????????Loading.SetIsShow(MyBasicControls,?false);
??????????},?
??????????TaskScheduler.FromCurrentSynchronizationContext());
??????????Loading.SetIsShow(MyBasicControls,?true);
??????????task.Start();
??????}

基礎(chǔ)控件上添加等待動畫。

private?void?BtnLoading_Click(object?sender,?RoutedEventArgs?e)
????????{
????????????var?task?=?new?Task(()?=>?{?Thread.Sleep(5000);?});
????????????task.ContinueWith(previousTask?=>?{?Loading.SetIsShow(btnLoading,?false);?},?TaskScheduler.FromCurrentSynchronizationContext());
????????????Loading.SetIsShow(btnLoading,?true);
????????????task.Start();
????????}

關(guān)閉基礎(chǔ)控件的等待動畫。

?private?void?BtnOffTask_Click(object?sender,?RoutedEventArgs?e)
????????{
????????????if?(tokenSource?==?null)?return;
????????????tokenSource.Cancel();
????????????Loading.SetIsShow(btnLoadingTask,?false);
????????}
????????private?CancellationTokenSource?tokenSource;

????????private?void?LoadingTask_Click(object?sender,?RoutedEventArgs?e)
????????{
????????????tokenSource?=?new?CancellationTokenSource();
????????????var?cancellationToken?=?tokenSource.Token;

????????????var?task?=?new?Task(()?=>
????????????{
????????????????for?(int?i?=?0;?i?<?10;?i++)
????????????????{
????????????????????//這里做自己的事情
????????????????????if?(tokenSource.IsCancellationRequested)
????????????????????????return;
????????????????????Thread.Sleep(1000);
????????????????}
????????????},?cancellationToken);
????????????task.ContinueWith(previousTask?=>
????????????{
????????????????if?(tokenSource.IsCancellationRequested)
????????????????????return;
????????????????Loading.SetIsShow(btnLoadingTask,?false);
????????????},?TaskScheduler.FromCurrentSynchronizationContext());
????????????Loading.SetIsShow(btnLoadingTask,?true);
????????????task.Start();
????????}

效果圖

到此這篇關(guān)于詳解WPF如何在基礎(chǔ)控件上顯示Loading等待動畫的文章就介紹到這了,更多相關(guān)WPF基礎(chǔ)控件顯示Loading等待動畫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Unity存儲游戲數(shù)據(jù)的多種方法小結(jié)

    Unity存儲游戲數(shù)據(jù)的多種方法小結(jié)

    這篇文章主要介紹了Unity存儲游戲數(shù)據(jù)的幾種方法,在游戲開發(fā)中,存儲游戲數(shù)據(jù)是非常重要的,因為游戲數(shù)據(jù)決定了游戲的各個方面,例如游戲的進度、玩家的成就、游戲的設(shè)置,需要的朋友可以參考下
    2023-02-02
  • C#編程高并發(fā)的幾種處理方法詳解

    C#編程高并發(fā)的幾種處理方法詳解

    這篇文章主要為大家詳細介紹了C#編程高并發(fā)的幾種處理方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘二

    C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘二

    上文對數(shù)據(jù)結(jié)構(gòu)與算法,有了一個簡單的概述與介紹,這篇文章,我們介紹一中典型數(shù)據(jù)結(jié)構(gòu)——線性結(jié)構(gòu)
    2012-10-10
  • C#?WPF編程之Application類的使用詳解

    C#?WPF編程之Application類的使用詳解

    每個運行中的WPF應(yīng)用程序都由System.Windows.Application類的一個實例來表示,該類跟蹤在應(yīng)用程序中打開的所有窗口,決定何時關(guān)閉應(yīng)用程序,下面就跟隨小編一起來深入了解下Application類的使用吧
    2024-04-04
  • C#Js時間格式化問題簡單實例

    C#Js時間格式化問題簡單實例

    這篇文章介紹了C#Js時間格式化問題簡單實例,有需要的朋友可以參考一下
    2013-10-10
  • 利用C#實現(xiàn)分割GIF圖片

    利用C#實現(xiàn)分割GIF圖片

    這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)分割GIF圖片的功能,文中的示例代碼講解詳細,對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • C#中csv文件與DataTable互相導(dǎo)入處理實例解析

    C#中csv文件與DataTable互相導(dǎo)入處理實例解析

    這篇文章主要介紹了C#中csv文件與DataTable互相導(dǎo)入處理實例解析,非常實用的功能,需要的朋友可以參考下
    2014-08-08
  • C#推送信息到APNs的方法

    C#推送信息到APNs的方法

    這篇文章主要介紹了C#推送信息到APNs的方法,涉及C#推送通知到蘋果APNs的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • C#使用Dll的幾種方法示例

    C#使用Dll的幾種方法示例

    使用 DLL(動態(tài)鏈接庫)是 C# 開發(fā)中常見的任務(wù)之一,DLL 文件包含可以在運行時加載的代碼和數(shù)據(jù),允許程序共享功能和資源,降低程序的內(nèi)存占用并促進代碼的復(fù)用,本篇文章將深入探討 C# 中使用 DLL 的多種方法,并提供相關(guān)代碼示例,需要的朋友可以參考下
    2024-10-10
  • C#緩存之SqlCacheDependency用法實例總結(jié)

    C#緩存之SqlCacheDependency用法實例總結(jié)

    這篇文章主要介紹了C#緩存之SqlCacheDependency用法,在C#程序設(shè)計中有一定的實用價值,需要的朋友可以參考下
    2014-08-08

最新評論

石阡县| 溧阳市| 陈巴尔虎旗| 永新县| 南通市| 惠水县| 项城市| 永康市| 平江县| 新晃| 泗水县| 合肥市| 汉源县| 河东区| 沅江市| 桂东县| 江永县| 张家界市| 额济纳旗| 常宁市| 新邵县| 宜阳县| 尼勒克县| 安新县| 安丘市| 平原县| 攀枝花市| 色达县| 韶山市| 三明市| 象山县| 乌拉特前旗| 长春市| 甘孜| 灵石县| 手游| 水富县| 大冶市| 富裕县| 丹凤县| 东明县|