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  [WPF] Hướng dẫn tạo một ứng dụng mới

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

 

 

vote
Article Rating

By admin

Theo dõi
Thông báo khi
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x