在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