Самый простой способ стилизовать / представить ComboBoxItem в Silverlight? - PullRequest
1 голос
/ 22 марта 2010

Какой самый простой способ настроить отображение содержимого ComboBoxItem? Я хотел бы представить список имен шрифтов с каждым элементом, нарисованным соответствующим шрифтом.
Я подозреваю, что мне нужно что-то вроде

<TextBlock FontFamily="{TemplateBinding Content}" Text="{TemplateBinding Content}" />

Куда бы это пошло?
Можно ли создать шаблон элемента управления для ComboBoxItem и использовать его только для выбранных ComboBoxes?
Спасибо за любые подсказки ....

1 Ответ

5 голосов
/ 22 марта 2010

Silverlight 3 не имеет неявного стиля, поэтому если вы создаете стиль с помощью ControlTemplate для этого, вам придется явно назначить его в ComboBox. Не беспокойтесь, что его случайно подберут.

Мне удалось достичь этого с помощью следующего XAML внутри ComboBox, привязанного к ObservableCollection<string>:

<ComboBox.ItemTemplate>
    <DataTemplate>
        <TextBlock FontFamily="{Binding}" Text="{Binding}"/>
    </DataTemplate>
</ComboBox.ItemTemplate>

Очевидно, что Binding, возможно, понадобится имя свойства, если вы привязываетесь к чему-то более сложному, но это позволило мне увидеть различные варианты выбора в их собственном шрифте.

Вы также можете перестроить это либо в DataTemplate, либо в стиль, если обнаружите, что используете его повторно.

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