在WPF做到这一点,典型的方式是通过Data Templating。一般来说,如果你想显示一组按照你的第二个屏幕截图格式化的数据,你可以将数据集(通常包含在ObservableCollection等集合中)绑定到ItemsControl的ListBox或类似的子项,并设置您创建的ItemsTemplate
到DataTemplate
可以用您希望的格式显示项目。
例如,很粗糙逼近你的HTML布局:
<ListBox ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate DataType="TypeOfYourDataObject">
<StackPanel>
<TextBlock FontSize="12" Foreground="Turquoise" Text="{Binding NickName}"/>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="11" Foreground="Gray" Text="email/"/>
<TextBlock FontSize="11" Foreground="Turquoise" Text="{Binding EmailAddress}"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="11" Foreground="Gray" Text="web/"/>
<TextBlock FontSize="11" Foreground="Turquoise" Text="{Binding Url}"/>
</StackPanel>
<Separator/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
通过动态控制,我的意思.. 标签标签=新的Label(); label.Margin = new Thickness(10); label.Content =“某个值”; someContainer.Children.Add(label); – alizahid 2011-04-12 16:14:58
好吧,如上所示,您最好在XAML中定义控件。 :) – 2011-04-12 16:17:58
谢谢一堆! ps:我还没有想出如何发布代码,每行之前有四个空格不起作用? :P – alizahid 2011-04-12 16:20:01