ContentPresenter с ListBox - PullRequest
       0

ContentPresenter с ListBox

2 голосов
/ 28 июля 2011

Я пытаюсь использовать режим Single Selection для моего ItemsControl. Поэтому я изменил мой ItemsControl на ListBox, однако получаю исключение: «Стиль, предназначенный для типа« ContentPresenter », нельзя применить к типу« ListBoxItem »» Что здесь? я не могу использовать ContentPresenter для ListBoxes?

<ListBox SelectionMode="Single" ItemsSource="{Binding}" MinHeight="200" MinWidth="200">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid></UniformGrid>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>

    <ListBox.ItemContainerStyle>
        <Style TargetType="ContentPresenter">
            <Setter Property="Grid.Row" Value="{Binding X}" />
            <Setter Property="Grid.Column" Value="{Binding Y}" />
        </Style>
    </ListBox.ItemContainerStyle>

    <ListBox.ItemTemplate>
        <DataTemplate DataType="ObservableCollection">
            <Border BorderBrush="Black" BorderThickness="0.5" Background="Beige">
                <clr:Cell Content="{Binding Character}"></clr:Cell>
            </Border>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

1 Ответ

5 голосов
/ 28 июля 2011

Стиль должен быть нацелен на ListBoxItem, так как это всегда то, что создается. Еще несколько документов и примеров шаблонов ListBox и шаблонов данных можно найти здесь .

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