0

我正在尝试为每个元素添加一个从循环中获得的唯一名称。我怎样才能实现它?第 2 行是错误所在。

foreach (var station in stations) {
 TextBlock station.name = new TextBlock(); // error !!!                        
}
4

3 回答 3

3

试试这个...

TextBlock station = new TextBlock() { Name="Something" };
于 2012-05-09T12:47:53.460 回答
1

也许我误解了你想要做什么......你是否试图为集合的每个成员创建控件?如果您正在这样做,请尝试查看 ListBox,或更通用的 ItemsPresenter 控件,以及该元素的 ItemTemplate 属性。

例如,将 ListBox 添加到 XAML,并将工作站分配为 ItemsSource,然后添加 DataTemplate 来表示项目。

<ListBox ItemsSource="{Binding stations}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding name}"/>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
于 2012-05-09T13:01:34.430 回答
0

您试图在 textblock 实例站的 name 属性上创建一个新的 textblock 实例。

那肯定行不通。

尝试:

TextBlock station = new TextBlock(); station.name = "Whatever name you want";

于 2012-05-09T13:48:33.257 回答