Связывание объектов пользовательского интерфейса: могу ли я сделать это с атрибутами? - PullRequest
3 голосов
/ 04 июня 2011

В настоящее время я работаю над движком пользовательского интерфейса для игры. У меня очень базовые навыки C # (я по профессии программист C), и у меня возникают проблемы с выяснением того, как связать элемент пользовательского интерфейса с данными, которые он представляет. Вот что я имею в виду:

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;
}

Это сделало бы встраивание в систему пользовательского интерфейса очень простым, но я не совсем уверен, возможно ли использовать атрибуты таким образом.

Итак, проще говоря:

  1. Могу ли я сделать это с атрибутами и если да, то как?
  2. Если нет, что было бы хорошим способом сделать это?

1 Ответ

2 голосов
/ 04 июня 2011

То, что вы хотите сделать, называется «Связывание с данными».В конкретной ситуации это привязка данных объекта .Перейдите по этой ссылке, и вы начнете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...