在C#中存储对象的属性/ WPF属性、对象、WPF

由网友(把酒作清欢)分享简介:我允许用户拖动/每个对象都有一个唯一的ID,当然工具箱和删除某些对象。当对象被使用,比方说放置在电网或画布,我需要证明其属性,所以我需要对象,每个对象都可以保持其自己的属性的数组。 您可以给我如何实现一个类来处理多个对象的一些建议和方向,而每一个对象都可以坚持到让我们说10属性?解决方案 您可以给我如何实现一个类中的...

我允许用户拖动/每个对象都有一个唯一的ID,当然工具箱和删除某些对象。当对象被使用,比方说放置在电网画布,我需要证明其属性,所以我需要对象,每个对象都可以保持其自己的属性的数组。

您可以给我如何实现一个类来处理多个对象的一些建议和方向,而每一个对象都可以坚持到让我们说10属性?

解决方案   

您可以给我如何实现一个类中的一些建议和指导   处理多个对象,而每一个对象都可以坚持到让我们说   10属性?

有没有必要为你实现这样的类。该方式,我会处理这个问题将是对工具箱(的ToolboxItem )后,只有公开的属性和功能通用于所有项目中的所有对象的公共基类在工具箱中。

 公共抽象类的ToolboxItem
{
    公共字符串名称{;组; }
    公共点位置{获得;组; }
}
 
WPF 面向对象 实现简单图书管理系统

您可以再从这个类EG得到您的具体项目 TextToolboxItem RectangleToolboxItem (或任何你想要的)。然后,派生类可以只暴露他们需要的属性。

 公共类TextToolboxItem:的ToolboxItem
{
    公共字符串文本{获得;组; }
}

公共类RectangleToolboxItem:的ToolboxItem
{
    公共矩形边界{获得;组; }
}
 

要存储这些你可以只使用一个泛型集合,如:

 的ObservableCollection<的ToolboxItem>项目=新的ObservableCollection< ToolboxItems>();
 

只要项目从的ToolboxItem 导出他们都可以在单个集合内举行,各个属性都可以绑定到使用WPF的数据绑定功能。

您可以再创建和公开数据以下列方式:

 公共部分类主窗口:窗口
{
    私人的ObservableCollection<的ToolboxItem>项目;

    公共主窗口()
    {
        的InitializeComponent();
        this.DataContext =这一点;

        项目=新的ObservableCollection<的ToolboxItem>
        {
            新TextToolboxItem {名称=primaryText
                                  文字=世界,你好,
                                  位置=新的点(40,130)},
            新TextToolboxItem {名称=secondaryText
                                  文字=世界,你好(又),
                                  位置=新的点(200,30)},
            新RectangleToolboxItem {位置=新的点(50300),
                                       NAME =Rect1的,
                                       边界=新的Rect(0,0,150,85)},
        };
    }

    公众的ObservableCollection<的ToolboxItem>项目{{返回的物品; }}
}
 

要显示此信息在用户界面上我会做到以下几点:

使用网格的视图分为两个部分。第一种情况是所选项目的属性将显示第二显示设计图面 使用一个内容presenter 显示在选择项目的属性。 使用一个列表框用自定义的 ItemsPanel ItemContainerStyle 为'画'您的项目到设计界面。 使用一个的DataTemplate 来告诉WPF如何呈现在两个属性网格和设计图面'(的
阅读全文

相关推荐

最新文章