2014-09-04 4 views
5

मैं Win8.1 के लिए एक विंडोज स्टोर ऐप (सी # के साथ) में एक परिपत्र पथ पर एक पाठ को एनिमेट करने का प्रयास कर रहा हूं। हालांकि सिल्वरलाइट और डब्ल्यूपीएफ के साथ इसे कैसे किया जाए, इस पर इंटरनेट पर कुछ उदाहरण हैं, लेकिन वे WinRT में बिल्कुल काम नहीं करते हैं (उदाहरण के लिए कई विधियों को याद करते हैं)।मैं Winrt में एक परिपत्र पथ पर पाठ कैसे एनिमेट कर सकता हूं?

समाधान की खोज करते समय मुझे नीचे स्टैक ओवरफ्लो प्रश्न भी मिला, लेकिन यह केवल विंडोज 8.0 पर लागू होता है और विंडोज 8.1 नहीं, इसलिए मैं इसे काम करने में असमर्थ था।

how to create motion of text along Path animation in winrt application?

वहाँ फिर से लागू करने खरोंच से सब कुछ के बिना इस के लिए किसी भी समाधान है?

+0

मैंने सोचा [यह] (http://studentguru.gr/b/kaisaras89/archive/2013/02/23/enabling-an-element-to-animate-on-a-path-on-windows-8 -स्टोर-ऐप-यानी-बनाना-a-pathlistbox-layoutpath-for-windows-rt) आरटी में लेआउटपैथ विकल्प प्रदान करने के लिए बहुत साफ था, इसका उपयोग करने का मौका नहीं था, हालांकि यह सिर्फ एक टिप्पणी है। –

+1

अच्छी टिप, मुझे शायद कुछ समाधान लागू करना होगा ताकि अक्षरों को एक-एक करके वक्र पर "घुमाएं" और संपूर्ण टेक्स्टब्लॉक पूरी तरह से नहीं, लेकिन फिर भी यह एक अच्छी शुरुआत हो सकती है। धन्यवाद –

+0

हां यदि आप अलग-अलग अक्षरों के साथ जा रहे हैं तो यह बहुत आसान हो जाता है, बस एक गाइड के रूप में एक अंडाकार सेट करें, उन्हें स्थिति दें और अपने रोटेशन को स्टोरीबोर्ड में बदल दें, कोई पसीना नहीं। हालांकि निश्चित रूप से लेआउटपाथ परिदृश्य में आसान था। –

उत्तर

0

यह काम नहीं कर रहा है? यह पूरी तरह से एक एक्सएएमएल समाधान है। स्टोरीबोर्ड लोड पर शुरू होता है।

<Window x:Class="WpfApplication3.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525"> 
    <Window.Resources> 
      <Storyboard x:Key="Rotate"> 
       <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)" Storyboard.TargetName="Label1"> 
         <EasingDoubleKeyFrame KeyTime="0" Value="0"/> 
         <EasingDoubleKeyFrame KeyTime="0:0:1" Value="360"/> 
       </DoubleAnimationUsingKeyFrames> 
      </Storyboard> 
    </Window.Resources> 
    <Window.Triggers> 
      <EventTrigger RoutedEvent="FrameworkElement.Loaded"> 
       <BeginStoryboard Storyboard="{StaticResource Rotate}"/> 
      </EventTrigger> 
    </Window.Triggers> 
<Grid> 
    <Label x:Name="Label1" Content="WordsAndStuff" HorizontalAlignment="Left" Margin="218.388,112.806,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.509,1.782"> 
      <Label.RenderTransform> 
       <TransformGroup> 
         <ScaleTransform/> 
         <SkewTransform/> 
         <RotateTransform/> 
         <TranslateTransform/> 
       </TransformGroup> 
      </Label.RenderTransform> 
    </Label> 

</Grid> 
बाहर

+1

यह साफ है, लेकिन यह WinRT/XAML के बजाय एक WPF समाधान है और यह अलग-अलग अक्षरों के बजाय एक लेबल पर काम करता है। –

1

चेक एक उदाहरण के लिए WinRT XAML टूलकिट में CascadingTextBlock नियंत्रण कैसे कई में एक TextBlock को तोड़ने के लिए। आपको बस ट्रांसफॉर्म एनिमेटेड तरीके को बदलने की आवश्यकता होगी। यदि आपका टेक्स्ट निरंतर स्ट्रिंग है - तो ब्लेंड में एनीमेशन बनाने के लिए सबसे अच्छा हो सकता है - एक सर्कल पर एकाधिक एकल अक्षर TextBlocks व्यवस्थित करें और प्रदान किए गए टूल का उपयोग करके एनीमेशन डिज़ाइन करें।

+0

यह एक स्थिर स्ट्रिंग नहीं है, लेकिन आपकी कैस्केडिंगटेक्सब्लॉक टिप यह एक उपयोगी है, मैं इसे देख लूंगा। –

संबंधित मुद्दे

 संबंधित मुद्दे