2012-06-17 27 views
0

我有一個問題,我的綁定到列表框控件。 其實我已經在App.xaml.cs一個屬性:我如何設置從app.xaml綁定到childproperty

public partial class App : Application, INotifyPropertyChanged 
{ 
    ObservableCollection<Panier> _panier = new ObservableCollection<Panier>(); 

    public ObservableCollection<Panier> PanierProperty 
    { 
     get { return _panier; } 
     set 
     { 
      if (this._panier != value) 
      { 
       this._panier = value; 
       NotifyPropertyChanged("PanierProperty"); 
      } 
     } 
    } 
    public event PropertyChangedEventHandler PropertyChanged; 

    protected void NotifyPropertyChanged(String property) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(property)); 
     } 
    } 
} 

這個屬性必須在「帕尼埃類」一子屬性在這裏:

public class Panier : INotifyPropertyChanged 
{ 
    private string _nom; 
    private string _category; 
    private int _prix; 

    public string Nom 
    { 
     get { return _nom; } 
     set 
     { 
      if (this._nom != value) 
      { 
       this._nom = value; 
       NotifyPropertyChanged("Nom"); 
      } 
     } 
    } 

    public string Category 
    { 
     get { return _category; } 
     set 
     { 
      if (this._category != value) 
      { 
       this._category = value; 
       NotifyPropertyChanged("Category"); 
      } 
     } 
    } 

    public int Prix 
    { 
     get { return _prix; } 
     set 
     { 
      if (this._prix != value) 
      { 
       this._prix = value; 
       NotifyPropertyChanged("Prix"); 
      } 
     } 
    } 
    public event PropertyChangedEventHandler PropertyChanged; 

    protected void NotifyPropertyChanged(String property) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(property)); 
     } 
    } 
} 

,並在我的MainWindow.xaml頁我有我的列表框綁定到PanierProperty(parent屬性):

<telerik:RadListBox x:Name="PanierLB" Grid.Row="1" Height="200" Width="350" Margin="0 300 0 0" 
    ItemsSource="{Binding PanierProperty, Source={x:Static Application.Current}}" 
    DisplayMemberPath="{Binding Path=PanierProperty.Nom, Source={x:Static Application.Current}}"> 
</telerik:RadListBox> 

我的問題是,PanierProperty被綁定到我的列表框我看到像Design.Panier列表框項目210 Design.Panier Design.Panier etc ... 我不知道如何獲得ListBox上顯示的PanierProperty.Nom(Nom是子屬性)。

有人可以幫忙。

回答

1

DisplayMemberPath使用財產的名稱,你想只顯示:

<telerik:RadListBox 
    ... 
    DisplayMemberPath="Nom" 
+0

非常感謝它讓我瘋狂:■我只與{結合喃}試圖不知道,謝謝:d – Linus