Chia sẻ

Nội dung

Giới thiệu

Trong bài này, csharpcanban.com sẽ hướng dẫn các bạn sử dụng ảnh động (gif) trong WPF. Để đỡ mất công đi tìm các package trên internet, csharpcanban.com khuyên các bạn nên sử dụng package XamlAnimatedGif để tải ảnh động gif trong WPF. (Vì csharpcanban.com đã tìm rất nhiều rồi, và hiện tại chỉ sử dụng plugin này).

Cài đặt

Tải package XamlAnimatedGif ở đây: https://www.nuget.org/packages/XamlAnimatedGif/

Hoặc mở package manager console trên Visual Studio và gõ dòng lệnh sau để cài đặt

PM> Install-Package XamlAnimatedGif

Sử dụng

Bước 1: Sau khi cài đặt XamlAnimatedGif, thêm namespace vào tệp XAML của Window / Page / UserControl của bạn bằng đoạn mã sau

xmlns:gif="https://github.com/XamlAnimatedGif/XamlAnimatedGif"

Hoặc

xmlns:gif="clr-namespace:XamlAnimatedGif;assembly=XamlAnimatedGif"

Bước 2: Để hiển thị ảnh động gif trong WPF, hãy đặt điều khiển Image vào tệp XAML và đặt thuộc tính AnimationBehavior.SourceUri thành URI * của ảnh GIF như sau

<Image gif:AnimationBehavior.SourceUri="Images/loading.gif" />

Và sau đó các bạn hãy nhấn F5 để xem thành quả.

Một số lưu ý

Để thêm ảnh gif trong mã nguồn của tệp C# trong WPF thì ta sử dụng đoạn mã sau

AnimationBehavior.SetSourceUri(imageControl, uri);

Trong đó imageControl là tên của điều khiển Image trong WPF, còn uri có thể tạo ra bằng cách sau

Uri mophongUri = new Uri("/YourWindowControl;component/Images/yourgiffile.gif", UriKind.Relative);

Để lặp lại ảnh động ta sử dụng đoạn mã sau đối với tệp XAML

<Image gif:AnimationBehavior.SourceUri="Images/loading.gif"
       gif:AnimationBehavior.RepeatBehavior="3x" /> <!-- repeat 3 times -->

<Image gif:AnimationBehavior.SourceUri="Images/loading.gif"
       gif:AnimationBehavior.RepeatBehavior="0:0:10" /> <!-- repeat for 10 seconds -->

<Image gif:AnimationBehavior.SourceUri="Images/loading.gif"
       gif:AnimationBehavior.RepeatBehavior="Forever" /> <!-- repeat forever -->

Nếu sử dụng mã C# để thực hiện việc lặp lại ảnh gif thì ta thêm đoạn mã sau

AnimationBehavior.SetRepeatBehavior(imageControl, new RepeatBehavior(3));
AnimationBehavior.SetRepeatBehavior(imageControl, new RepeatBehavior(TimeSpan.FromSeconds(10)));
AnimationBehavior.SetRepeatBehavior(imageControl, RepeatBehavior.Forever);

Lời kết

Trên đây là toàn bộ bài viết liên quan tới việc sử dụng ảnh động gif trong WPF, lời khuyên của csharpcanban.com là bạn chỉ nên sử dụng package XamlAnimatedGif vì nguyên lý của nó là chỉ tải 1 ảnh vào 1 thời điểm cho nên chiếm ít bộ nhớ RAM, vẫn còn một số package khác, tuy nhiên quá trình sử dụng rất tiêu tốn nhiều RAM.

Xem thêm  [C#,WPF] Tạo ứng dụng chạy với quyền quản trị

Chúc các bạn thành công !!!

 

 

ĐĂNG KÝ MUA HÀNG

    Email (*)

    Điện thoại (*)

    Tên sản phẩm/Dịch vụ:


    Chia sẻ

    Trả lời

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *