0

我想创建一个ListBox并用匿名填充它UIElement。换句话说,DataTemplateItemTemplate将只包含一个元素,并且在运行时后记,之后我将在不同UIElement的 s ( TextBlocks, Grids ...) 后面的代码中创建并用它填充列表。

那么我要怎么写DataTemplateListBox?我打算如何ObservableCollection使用ItemSource?那么应该使用ObsevableCollectionofUIElement吗?

4

2 回答 2

2

第一个问题:没有 DataTemplate。由于您的项目已经UIElement是 s,因此您不需要DataTemplate.

如果您正在创建一个可更改的集合,那么是的,ObservableCollection<UIElement>这就是要走的路。

现在,你为什么要这样做?你可能想问问自己这是否是最好的做事方式。为什么您的数据和演示文稿没有分开?如果您需要列表中不止一种类型的元素,将DataTemplateSelector允许您拥有一个真正的ViewModel?

于 2013-08-16T21:33:01.830 回答
0
    <ListBox x:Name="name" ItemsSource="{Binding source}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <textbox x:Name="name"></ToggleButton> //or any tool
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
于 2013-08-16T22:19:50.937 回答