将UI对象链接在一起:我可以使用属性吗?

时间:2011-06-04 14:34:01

标签: c# winforms data-binding

我目前正在为游戏开发自定义UI引擎。我有非常基本的C#技能(我通过交易我是一名C程序员)而且我在弄清楚如何将UI元素与它所代表的数据联系起来时遇到了问题。这就是我的意思:

class SomeClass
{
    //some stuff

    //This is what I want to monitor and/or modify.
    private SomeType _myVariable;
}

...别处

class UITextboxWidget
{
     //methods and stuff
}

现在,我想要的是当用户在文本框中更改值时修改_myVariable元素,反之亦然。

我首先尝试通过调用MyClass构造函数中的方法并通过引用在_myVariable上传递属性来尝试,但我很快发现这在C#中是不可能的。

然后我看了一下属性并发现你可以创建新属性:这就是我想到的。

class MyClass
{
    [TextBoxAttribute(some, parameters)]
    private SomeType _myVariable;
}

这会使嵌入UI系统非常容易,但我不确定是否可以这种方式使用属性。

所以,简单地说:

  1. 我可以使用属性执行此操作吗?如果是,如何执行此操作?
  2. 如果没有,那么这样做的好方法是什么?

1 个答案:

答案 0 :(得分:2)

您想要做的是“数据绑定”。特别是在您的情况下,它是Object Data Binding。请点击此链接,它将帮助您入门。