У меня есть приложение WPF — XBAP — с ComboBox на главной странице. Когда я выбираю элемент в поле со списком, обработчик событий перестраивает коллекцию, которая является источником данных для списка. Кажется, довольно простые вещи, все, что я делал в WPF раньше.
Вот как выглядит мой выпадающий список после выбора элемента из списка:
Откуда взялась красная кайма? Я строю форму с нуля, сейчас на ней нет стилей или чего-то еще. Текст «красный» даже нигде в проекте не упоминается. Он не исчезнет, как только появится, и он появится поверх всего, что я поместил поверх элемента управления.
Вот разметка:
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource ResourceKey=DeviceInfoNameConverter}}"></TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
Еще немного деталей:
- Это приложение XBAP, работающее в IE8.
- Другие выпадающие элементы управления на той же странице этого не делают.
- Граница исчезает, когда я пытаюсь изучить дерево управления с помощью Snoop.
- Преобразователь не является источником проблемы, я попытался привязать непосредственно к свойству базового объекта, и поле все еще появляется.
Мое единственное предположение, далекое от поиска, заключается в том, что существует какой-то шаблон ошибки по умолчанию, который применяется к элементу управления. Я работаю с WIA, и в окне вывода VS появляется несколько исключений COM, по-видимому, связанных с привязкой данных для ListView. Источником данных для элемента управления является объект WIA.DeviceInfo, преобразователь просто получает свойство имени для раскрывающегося текста.