Я обнаружил проблему, свойства Locations и SelectedLocation были созданы как внутренние из-за того, что класс ArticleLocation не был общедоступным и поэтому не мог быть доступен для представления XAML.
Изменение класса ArticleLocation на public и свойств в моем классе Article на public, которые они начали показывать в поле со списком.
Попробуйте образец InfoTextBox от Bag-o-Tricks Kevin Moore. Можно загрузить его с http://work.j832.com/2008/01/real-update-to-bag-o-tricks.html
Как всегда в WPF, существует много способов достигнуть Вашей цели.
Возможно, самый чистый путь состоит в том, чтобы разделить на подклассы TextBox
и добавьте новое названное свойство HintText
. Шаблон для Вашего управления отобразился бы HintText
(вероятно, курсивом и серый) как долго как Text
пусто (""
). Иначе это отобразилось бы Text
точно так же, как постоянный клиент TextBox
.
Альтернатива, которая не включает запись Вашего собственного управления, должна повторно обработать по шаблону TextBox
и используйте Tag
свойство для хранения текста подсказки.
Другая альтернатива должна записать a UserControl
это комбинирует a TextBox
с, скажем, a TextBlock
в том же Grid
. TextBlock
содержал бы текст подсказки и будет только отображен если TextBox
Text
пусто. Этого является, вероятно, самым легким достигнуть, но является также наименее гибким.
Вы могли преобразовать текстовое поле, чтобы иметь серый текст каждый раз, когда его пустое и переменная, которая скажет Вам, это пусто, так, чтобы при нажатии на Search, он не шел, ища "Поиск..."
Или Вы могли использовать что-то подобное тому, что Вы говорите, но вместо текстового поля выше Вас мог иметь текст ниже. Если на вершине у Вас есть текстовое поле с прозрачным фоном, и в нижней части у Вас есть маркировка, которая имеет "Поиск", когда главное текстовое поле пусто, который должен решить проблему.
На мой взгляд, лучший способ для подобных вещей - это установить фон с помощью визуальной кисти. Визуальная кисть позволяет рисовать фон с помощью визуальных элементов, комбинировать его с триггером на основе пустого текста, и готово.
Пример сообщения «Пустой список» здесь, в основном то же самое. http://adammills.wordpress.com/2010/08/04/simple-empty-template-for-itemscontrols/