0

我有个问题。当Binding项目到 aListBox时,它会垂直添加它们。例如 whereItemsSource = "{Binding Path = Name}"Nameis Bill,我ListBox在线获取每个字符的输出(如下所示:B\ni\nl\nl)。我在哪里做错了?

XAML:

<Window x:Class="ObservableColl.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">

    <Grid>
        <ListBox HorizontalAlignment="Left" Height="244" Margin="313,28,0,0" VerticalAlignment="Top" Width="177" ItemsSource="{Binding Path=Name}"/>
    </Grid>
</Window>

C#:

    class Customer
    {
        public string Name{get; set;}
    }

    class Customers
    {
        public ObservableCollection<Customer> customerOC{get; set;}
        public Customers()
        {
            customerOC = new ObservableCollection<Customer>();
        }
        public void AddCustomer(Customer c)
        {
             customerOC.Add(c);
        }
    }

public partial class MainWindow:Window
{
    Customers customers{get; set;}
    public MainWindow()
    {
        InitializeComponent();
        customers = new Customers();

        customers.AddCustomer(new Customer(){Name = "Frank"});

        this.DataContext = customers;
    }
}
4

1 回答 1

1

DataContext已设置为客户。ItemsSource应设置为ObservableCollectionand用于显示客户的DisplayMemberPath正确属性。

<ListBox ItemsSource="{Binding customerOC}" DisplayMemberPath="Name" />
于 2013-02-22T18:10:30.860 回答