2012-02-13 38 views
1

在我的模型我有類:ListPicker顯示對象名稱,而不是財產

public class Heaviness 
{ 
    public int ID {get; set;} 
    public string NameToDisplay {get; set;} 
} 

在我的視圖模型我有一個屬性HeavinessList:

public ObservableCollection<Heaviness> 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> 

但是,當我運行應用程序時,我得到了顯示的對象名稱而不是屬性。爲什麼會發生?

回答

6

您需要分配您的DataTemplateItemTemplate財產,不把它直接進入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> 

你可以閱讀更多關於DataTemplates on MSDN(該文章是關於WPF,但相同的概念適用於WP7)

+0

謝謝,我絕對需要休息一下。 – anetafr 2012-02-13 23:10:02

相關問題