簡體   English   中英

如何以適當的方式添加動態控件?

[英]How to add dynamic controls in proper way?

我有以下代碼:

        for (int i = 0; i < 4; i++)
        {

            TextBlock Tb = new TextBlock();
            Tb.Text = k[3+i];
            Tb.Width = 205*((i<2)?1:0.5);
            Tb.Height = (stala*10)/3;
            Tb.Margin = margin;
            margin.Top += ((stala * 10) / 3);
            this.Str1.Children.Add(Tb);

        }

添加了文本塊,但是只是一秒鍾...當動畫停止時,控件也消失了...有人可以告訴我為什么嗎?

不,如果您需要在運行時使用一組重復的控件,而這些控件在設計時數量未知,則正確的方法是使用itemscontrol或某些控件(這些控件繼承自gridview之類的itemscontrol並將該控件綁定到value Observablecollection的屬性上)。 然后,您操縱observablecollection的成員,itemscontrol將根據其itemtemplate屬性為您創建相應的控件。

<ItemsControl ItemsSource="{Binding}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel>
                <StackPanel.ChildrenTransitions>
                    <AddDeleteThemeTransition />
                </StackPanel.ChildrenTransitions>
            </StackPanel>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <TextBox Text="{Binding}" />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

另外,如果您想要動畫,則可以在itemscontrol的itemspanel上使用動畫庫中的某些內容設置childrentransitions,這是您的最佳選擇。

聽起來綁定對您來說可能是新的。 您可能需要在這里查看有關該主題的入門知識: http : //blog.jerrynixon.com/2012/10/xaml-binding-basics-101.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM