WPF Добавление текстового блока к элементу и привязка его к текстовому полю - PullRequest
1 голос
/ 22 апреля 2009

У меня есть программа-дизайнер диаграмм, и я хочу добавить текст к фигурам (это объекты контуров), когда пользователь щелкает правой кнопкой мыши фигуру и записывает имя фигуры в окне свойств. Я добавляю свойство контекстного меню к фигурам, и когда пользователь нажимает «Свойства» в контекстном меню, открывается новое окно с текстовым полем и кнопкой. Я могу добавить текстовый блок к фигурам, но не могу привязать текстовое поле в окне свойств к текстовому блоку в форме. То, что я хочу, это когда пользователь вводит текст в текстовое поле в окне свойств и нажимает кнопку ОК, текстовое поле на фигуре изменяется на текст, введенный пользователем.

Спасибо.

Ответы [ 2 ]

1 голос
/ 22 апреля 2009

Вы можете привязать один элемент управления к другому, используя привязку ElementName:

<TextBlock Text="{Binding Text, ElementName=TextBoxInPropertiesWindow}" />

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

Поэтому вам действительно нужно думать о том, чтобы связать и текстовое поле, и текстовый блок с базовой моделью данных / моделью представления. Таким образом, текстовое поле может обновить модель (которая останется после уничтожения текстового поля), а затем текстовый блок будет обновлен в ответ на изменение модели.

0 голосов
/ 22 апреля 2009

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

...