Расположение элементов ComboBox - PullRequest
2 голосов
/ 13 мая 2009

У меня стиль элемента ComboBox выглядит следующим образом (упрощенно):

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="35"/>
    </Grid.ColumnDefinitions>

            <TextBlock Grid.Column="0" />
            <Path Grid.Column="1" Style={StaticResource StarStyle}/>
</Grid>

Результат, как и ожидалось. Элемент в моем списке выглядит следующим образом:

альтернативный текст http://robbertdam.nl/share/p1.png

Как бы то ни было, когда я выбираю этот предмет. Это выглядит так:

альтернативный текст http://robbertdam.nl/share/p2.png

Я хочу, чтобы звезды были выровнены по правому краю. Чего мне не хватает?

Ответы [ 2 ]

2 голосов
/ 13 мая 2009

Я забыл упомянуть, что я определил этот стиль

        <Style x:Key="ComboItemsStyle" TargetType="{x:Type ComboBoxItem}">
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
        </Style>

Назначение этого стиля моему ComboBox решает его:

        <Style x:Key="ComboStyle" TargetType="{x:Type ComboBox}">
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
        </Style>
1 голос
/ 13 мая 2009

Имеет ли объект "Path" свойство "Align"? То есть, вы можете заставить его выравниваться прямо с этим XAML?

<Path Grid.Column="1" Align="Right" Style={StaticResource StarStyle}/>

Редактировать

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

<DockPanel Grid.Column="1">
    <Path DockPanel.Dock="Right" Style={StaticResource StarStyle}/>
</DockPanel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...