我有一個ObservableCollectionas the ItemsSourcefor a ListView。添加專案作業正常并且ListView更新,但ListView我能看到的是:

我錯過了什么?
public class MenuItem
{
public string Item { get; set; }
public string Price { get; set; }
}
// ...
public ObservableCollection<MenuItem> MenuItemList = new ObservableCollection<MenuItem>();
// ...
MenuItemList.Add(new MenuItem {Item = MenuData[6].InnerText, Price = PriceData[6].InnerText});
// ...
listViewFood.ItemsSource = MenuItemList;
uj5u.com熱心網友回復:
您創建了自定義型別MenuItem。在ListView沒有辦法知道如何顯示此型別的專案,這就是為什么它顯示的結果的方式ToString,這是該型別的名字在這里。您必須使用DataTemplateas自己定義專案的外觀ItemTemplate,例如:
<ListView x:Name="listViewFood">
<ListView.ItemTemplate>
<DataTemplate DataType="{x:Type MenuItem}">
<StackPanel>
<TextBlock Text="{Binding Item}"/>
<TextBlock Text="{Binding Price}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
有關更多資訊,請參閱資料模板概述,其中詳細介紹了機制。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/330482.html
上一篇:在WPFMVVM中打開主視窗
