返回WPF中的类对象列表

时间:2011-03-24 03:36:52

标签: c# wpf c#-4.0 binding

我有一个课程如下。

namespace WpfApplication2
{
    class TaskItem
    {
        private string name;
        private string item;
        private string description;
        private int priority;
        public string Name
        {
            get
            { return name; }
            set
            { this.name = value; }
        }

        public string Item
        {
            get
            {
                return item;
            }
            set
            {
                this.item = value;
            }
        }
        public string Description
        {
            get
            {
                return String.Format("{0} {1}",name,item);
            }
        }
        public int Priority
        {
            get
            {
                return priority;
            }
            set
            {
                this.priority = value;
            }
        }

        public TaskItem()
        {


        }

    }
}

我想将此类对象的列表返回到我的wpf应用程序,如下所示。

<WpfApplication2:TaskItem x:Key="taskItem"/>

之后我将它绑定到ListBox。我怎么能返回这个类对象列表?请指教。感谢。

3 个答案:

答案 0 :(得分:1)

您的xaml声明适用于单个TaskItem,而不是集合。您需要一个集合绑定到ListBox的ItemsSource。请参阅msdn上有关使用ObservableCollection的仅限xaml解决方案的限制的说明。您可能希望在代码中创建一个列表以绑定到ListBox,或者创建自己的继承自ObservableCollection的类,然后在您的xaml中创建该类的实例。

答案 1 :(得分:0)

您是否尝试创建List<TaskItems>并将其设置为DataContext?

答案 2 :(得分:0)

技术上可行..与此类似的东西(用List替换Observable集合,我的:自定义类的Person)。 另见:Generics support was added recently to XAML

<Window>
    <Window.DataContext>
        <ObservableCollection x:TypeArguments="my:Person">
            <my:Person FirstName="Tom" LastName="Holiday" />
            <my:Person FirstName="Joan" LastName="Holiday" />
        </ObservableCollection>
    </Window.DataContext>
    …
</Window>