Windows phone 7 ListPicker显示对象名而不是属性
在我的模型中,我有:Windows phone 7 ListPicker显示对象名而不是属性,windows-phone-7,data-binding,listpicker,Windows Phone 7,Data Binding,Listpicker,在我的模型中,我有: public class Heaviness { public int ID {get; set;} public string NameToDisplay {get; set;} } 在我的视图模型中,我有一个属性HeavinessList: public ObservableCollection<Heaviness> HeavinessList {get;set;} public-observeCollection-HeavinessLi
public class Heaviness
{
public int ID {get; set;}
public string NameToDisplay {get; set;}
}
在我的视图模型中,我有一个属性HeavinessList:
public ObservableCollection<Heaviness> HeavinessList {get;set;}
public-observeCollection-HeavinessList{get;set;}
在我的xaml中,我添加了ListPicker,其中项目源绑定到HeavinessList;其项的数据模板绑定到重型对象的NameToDisplay属性
<StackPanel x:Name="HeavinessGroup" Width="220" HorizontalAlignment="Left">
<TextBlock x:Name="HeavinesLabel" Margin="12,0,0,0" TextWrapping="Wrap"
Text="Heaviness:" HorizontalAlignment="Left"/>
<toolkit:ListPicker x:Name="HeavinessListPicker"
SelectedIndex="0"
ItemsSource="{Binding HeavinessList}"
VerticalAlignment="Center">
<DataTemplate>
<TextBlock Text="{Binding NameToDisplay}" />
</DataTemplate>
</toolkit:ListPicker>
</StackPanel>
但是,当我运行应用程序时,显示的是对象名而不是属性。为什么会发生这种情况?您需要将
DataTemplate
分配给ItemTemplate
属性,而不要将其直接放入列表选择器中:
<toolkit:ListPicker x:Name="HeavinessListPicker"
SelectedIndex="0"
ItemsSource="{Binding HeavinessList}"
VerticalAlignment="Center">
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding NameToDisplay}" />
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
</toolkit:ListPicker>
您可以阅读更多关于(这篇文章是关于WPF的,但同样的概念适用于WP7)您需要将DataTemplate
分配给ItemTemplate
属性,而不要将其直接放入ListPicker
:
<toolkit:ListPicker x:Name="HeavinessListPicker"
SelectedIndex="0"
ItemsSource="{Binding HeavinessList}"
VerticalAlignment="Center">
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding NameToDisplay}" />
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
</toolkit:ListPicker>
你可以阅读更多关于WPF的内容(这篇文章是关于WPF的,但同样的概念也适用于WP7)谢谢,我确实需要休息一下。谢谢,我确实需要休息一下。