@Filip के रूप में: तुम सिर्फ एक मानक Image
नियंत्रण पर एक संलग्न गुण सेट करने की जरूरत है स्काकुन ने कहा WebView
विधि काम करता है। निश्चित रूप से यह "हैक" है लेकिन इन सभी पुस्तकालयों और फ्लाई पर डिकोडिंग धीमी है, एनीमेशन झिलमिलाहट (कम से कम विंडोज फोन में)। वेबव्यू का उपयोग करके आप पारदर्शी पृष्ठभूमि के साथ एनिमेटेड gifs होस्ट करने की क्षमता देता है। WebView gif प्रतिपादन दृष्टिकोण का उपयोग करने के लिए अपनी परियोजना में html पृष्ठ बनाने के लिए:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>gif rendering</title>
<script type="text/javascript">
function SetImageSource(image, source) {
document.getElementById(image).src = source;
};
</script>
<style type="text/css">
html, body
{
-ms-content-zooming:none;
-ms-overflow-style: none;
-ms-scroll-translation: none;
-ms-touch-select: none;
overflow: hidden;
zoom: 100%;
}
</style>
</head>
<body>
<img id="gifPlaceholder" src=""/>
<script>
SetImageSource("gifPlaceholder", window.top.location.search.substring(1));
</script>
</body>
</html>
सीएसएस महत्वपूर्ण है - क्योंकि यह ज़ूम/स्क्रॉल/WebView का स्पर्श-चाल (जो ज्यादातर मामलों में वांछनीय नहीं है) अक्षम करता है। एनिमेटेड gifs को उसी फ़ोल्डर में जोड़ें (जहां HTML बैठता है)। Xaml कोड:
<WebView Name="gifRendererWebView"
Source="ms-appx-web:///pathToHtmlInProject.html?gifName.gif"
DefaultBackgroundColor="Transparent"/>
केवल दोष यह है कि आप इस क्षेत्र जो WebView
पर कब्जा पर "इशारों खोना" (और आप WebViewBrush
उपयोग नहीं कर सकते क्योंकि आप एनीमेशन खो देगा) है।
यह काम करता है :) सबसे पहले मैं gif के आयामों का पता लगा रहा हूं और फिर स्क्रॉलिंग बार से बचने के लिए 20 के साथ जोड़े गए वेबव्यू ऊंचाई और चौड़ाई को सेट कर रहा हूं। फिर वेबफ्यूम का स्रोत gif पर सेट करें और यह काम करता है :) – Jesse
WebViewBrush पर स्विच करने पर विचार करें। इससे आपको बेहतर प्रदर्शन –