Silverlight: Как установить стиль элемента управления в элементе управления в ресурсе? - PullRequest
0 голосов
/ 02 марта 2011

Например, вот некоторый код для заполнения списка двумя списками:

<ListBox x:Name="LayoutRoot" Width="200" Height="400" Style="{StaticResource ListStyle}" >
    <ListBoxItem>
        <ListBox>
            <ListBoxItem>11</ListBoxItem>
            <ListBoxItem>12</ListBoxItem>
        </ListBox>
    </ListBoxItem>
    <ListBoxItem>
        <ListBox>
            <ListBoxItem>21</ListBoxItem>
            <ListBoxItem>22</ListBoxItem>
        </ListBox>
    </ListBoxItem>
</ListBox>

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

Вот моя сотая неудачная попытка:

<UserControl.Resources>
    <Style x:Key="ListStyle" TargetType="ListBox">
        <Setter Property="Template">
            <Setter.Value>
                <ListBox>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <ListBox>
                                <ListBox.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <toolkit:WrapPanel/>
                                    </ItemsPanelTemplate>
                                </ListBox.ItemsPanel>
                            </ListBox>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </Setter.Value>
        </Setter>
    </Style>
</UserControl.Resources>

Если я не дал понять, что я хочу видеть в своем списке, это 11, 12 рядом в первом ряду и 21, 22 рядом во втором ряду.

1 Ответ

0 голосов
/ 02 марта 2011

Если вы используете Silverlight 4, вы можете создать неявный стиль.Вы делаете это, не включая Ключ в объявлении стиля.Это будет неявно применять стиль ко всем элементам управления в рамках этого ресурса.Затем вам также необходимо явно настроить ItemsPanel корневого списка для расположения по вертикали.

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