2013-09-28 45 views
0

試圖將listbox綁定到對象。代碼運行沒有錯誤,但由於某種原因,樣本數據沒有出現在listboxWPF:無法將對象綁定到列表框

XAML:​​

<UserControl x:Class="TheProject.UserControls.ucDataBindingObject" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      Name="DataBindingObject" 
      Width="Auto" 
      Height="Auto" 
      mc:Ignorable="d"> 

    <Grid Width="130" 
      Height="240" 
      Margin="0"> 

     <ListBox Name="lbObject" 
       Width="110" 
       Height="80" 
       Margin="10,7,-9.6,0" 
       HorizontalAlignment="Left" 
       VerticalAlignment="Top" 
       DisplayMemberPath="Name" 
       ItemsSource="{Binding ElementName=ucDataBindingObject, 
             Path=Clients}" /> 

    </Grid> 
</UserControl> 

C#:ucDataBindingObject.xaml.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Windows.Controls; 
namespace TheProject.UserControls 
{ 
    public partial class ucDataBindingObject : UserControl 
    { 

     public List<Client> Clients { get; set; } 


     public ucDataBindingObject() 
     { 
      Clients = new List<Client>(); 
      Clients.Add(new Client(1, "David")); // sample data 
      Clients.Add(new Client(2, "Helen")); 
      Clients.Add(new Client(3, "Joe")); 


      InitializeComponent(); 
     } 
    } 

C#Client.cs

using System; 
using System.Linq; 

namespace TheProject.UserControls 
{ 
    public class Client 
    { 
     public int ID { get; set; } 
     public string Name { get; set; } 

     public Client(int id, string name) 
     { 
      this.ID = id; 
      this.Name = name; 
     } 
    } 
} 

回答

3

更新你的ItemsSource綁定作爲

ItemsSource="{Binding Path=Clients}" 

,並在您的視圖的構造,InitializeComponents後設置它的DataContext作爲

this.DataContext = this; 

沒有名爲ucDataBindingObject元素,這是你的用戶控件的類名

或改變綁定到DataBindingObject的元素名稱,您將其命名爲您的usercontrol

+0

啊。我不得不引用文件後面的代碼。像魅力一樣工作。感謝幫助。 –