如何將子項目添加到ListView
?我需要動態生成一切,但我發現每個示例都使用XAML。將子項目添加到ListView而不使用XAML
非WPF是如此簡單:
ListViewItem lvi = listview.items.add(wahtever);
lvi. blah blah blah
如何在WPF加分項目,而無需使用XAML?
如何將子項目添加到ListView
?我需要動態生成一切,但我發現每個示例都使用XAML。將子項目添加到ListView而不使用XAML
非WPF是如此簡單:
ListViewItem lvi = listview.items.add(wahtever);
lvi. blah blah blah
如何在WPF加分項目,而無需使用XAML?
SubItem or ListItem ?? 簡單:
myListbox.Items.Add(object);
您可以添加任何類型的對象到該集合或特定ListBoxItem的對象像這樣的:
this.List.Items.Add(new ListBoxItem{ Content = "Value to display"});
的「WPF辦法」將是您的列表視圖綁定到一個集合代表您想要顯示的數據。然後將包含數據的對象添加到該集合。您幾乎從不需要按照計劃進行手動處理將ListViewItems
手動添加到您的列表中。我能想出一個例子,但有在這裏的許多線程,以便已經是解決正是這個問題:
我需要一個忙,我如何通過動態添加行來更改背景顏色? – Sandy 2011-01-28 05:13:42
如前所述,WPF沒有分項像WinForms。相反,您可以在適合您的目的的對象上使用屬性。
爲了完整起見,這裏是XAML與代碼的對比。
XAML:
<UniformGrid Columns="2">
<ListView Name="xamlListView">
<ListView.View>
<GridView>
<GridViewColumn Header="X Value" DisplayMemberBinding="{Binding X}"/>
<GridViewColumn Header="Y Value" DisplayMemberBinding="{Binding Y}"/>
</GridView>
</ListView.View>
<ListView.Items>
<PointCollection>
<Point X="10" Y="20"/>
<Point X="20" Y="30"/>
</PointCollection>
</ListView.Items>
</ListView>
<ListView Name="codeListView"/>
</UniformGrid>
代碼:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var view = new GridView();
view.Columns.Add(new GridViewColumn { Header = "First Name", DisplayMemberBinding = new Binding("First") });
view.Columns.Add(new GridViewColumn { Header = "Last Name", DisplayMemberBinding = new Binding("Last") });
codeListView.View = view;
codeListView.Items.Add(new { First = "Bill", Last = "Smith" });
codeListView.Items.Add(new { First = "Jane", Last = "Doe" });
}
的WPF的ListView不要有 '子項' 像舊的WinForms一樣。它需要一個非常不同的思維模式。我認爲你現在的樣子,所有的XAML到底是什麼? Winforms更直接。但現在,我不能回到winforms。 WPF在我的書中勝出。只需要一點時間讓你的頭部,但是當你這樣做。這很棒。 – 2011-01-14 02:54:21
是的,我記得我的WPF頭幾個月...我的禿子增加了...現在我想到的任何UI平臺,我想它有綁定,主題,樣式,觸發器,DataContexts,命令,附加屬性。該死的WinForms太蹩腳了! :p – 2011-09-09 07:59:33