मैं सोच रहा था कि आप टेक्स्टब्लॉक के हाशिए को प्रोग्रामेटिक रूप से कैसे सेट कर सकते हैं? मेरे पास तारों की एक सूची है, कि मैं प्रत्येक टेक्स्टब्लॉक को असाइन करना चाहता हूं और प्रत्येक टेक्स्टब्लॉक के बीच एक अंतर के साथ प्रत्येक को एनिमेट करना चाहता हूं। अभी, सभी टेक्स्टब्लॉक एक ही पंक्ति पर हैं, इसलिए मैं यह नहीं कह सकता कि पाठ क्या कहता है।प्रोग्रामेटिक रूप से टेक्स्टब्लॉक मार्जिन सेट करें
foreach (var i in item.Items)
{
TextBlock tb = new TextBlock();
tb.Height = 50;
tb.Width = 900;
tb.Text = i.Title + "\n";
SlideDown(tb);
canvas.Children.Add(tb);
}
public void SlideDown(FrameworkElement uc)
{
ThicknessAnimation tAnimation = new ThicknessAnimation();
tAnimation.Duration = new Duration(TimeSpan.FromSeconds(5.0));
tAnimation.From = new Thickness(0,0,0,0);
tAnimation.To = new Thickness(0, 500, 0, 500);
Storyboard.SetTarget(tAnimation, uc);
Storyboard.SetTargetProperty(tAnimation, new PropertyPath(FrameworkElement.MarginProperty));
Storyboard storyboard = new Storyboard();
storyboard.Children.Add(tAnimation);
storyboard.Begin(uc);
}
मैंने कोशिश की है कि है, लेकिन सभी पाठ अभी भी एक ही लाइन पर है? – Michael
असल में नहीं, यह सही है, लेकिन प्रत्येक टेक्स्टब्लॉक जोड़ने के बाद मुझे मार्जिन में वृद्धि करना है ताकि टेक्स्ट अलग मार्जिन पर हो। फिर भी धन्यवाद। :) – Michael
खुशी हुई इससे मदद मिली! –