Есть ли способ установить статические блоки текста на UserControl в C # до компиляции? - PullRequest
0 голосов
/ 26 октября 2010

РЕДАКТИРОВАТЬ: Очевидно, я был немного сбит с толку. Оригинальный пост останется ниже, но главное, что я спрашиваю, есть ли способ сделать текстовый блок на статическом методе usercontrol таким образом, чтобы при попытке установить его значение статическим методом он не скулил и скажем "Ссылка на объект требуется для нестатического поля, метода или свойства 'WpfApplication10.ProfileControl.blkFirst'".

Я не уверен, правильно ли я спроектировал весь свой класс базы данных, но сейчас у меня есть проект, который подключается к удаленной базе данных. Все работает, когда я добавляю вещи в базу данных. Я могу добавлять новых пользователей (с зашифрованными паролями SHA512, используя соль: D), добавлять «события», которые включают заголовок и событие и дату / время, и даже основную информацию о пользователе, такую ​​как адрес электронной почты, имя, фамилия и т. Д.

Все работает, когда я добавляю в базу данных. Тем не менее, у меня есть usercontrol под названием Profile, и он должен отображать всю основную информацию о пользователе, такую ​​как имя пользователя, адрес электронной почты и т. Д.

Проблема, к сожалению, в том, что текстовые блоки, для которых я пытаюсь установить значения, не являются статичными, а то, как все мои другие элементы настроены в моей базе данных, элементах управления входом и т. Д., Это статическое. Это не проблема, когда я добавляю что-то в базу данных, потому что я не изменяю вещи прямо в пользовательском контроле.

Вполне возможно, что я что-то делаю в моем общем проекте неправильно, но я надеюсь, что есть способ сделать объекты статичными в пользовательском контроле, когда вы добавляете их в представление дизайна, иначе я собираюсь вероятно, придется вернуться и изменить всю мою программу.

1 Ответ

0 голосов
/ 26 октября 2010

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

Я не уверен, что вы имеете в виду, когда говорите, что ваш существующий материал статичен - я предполагаю, что вы имеете в виду объектыв коде позади.Если вы сделали все это статичным, то я предлагаю вам a) изменить это и b) найти и прочитать несколько хороших статей о повторном использовании классов / компонентов.Все эти статические переменные делают ваш код трудным для повторного использования и плохо инкапсулируются, и в какой-то момент это вас укусит.

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

...