Содержимое ListBox не полностью распространяется по списку - PullRequest
1 голос
/ 11 сентября 2009

Я пытаюсь создать список, в котором у меня есть полный контроль над внешним видом каждого элемента в списке.

Я могу сделать предмет горизонтально растянутым. Однако, слева от выбранного элемента есть этот тонкий кусочек синего цвета. (На рисунке выделен средний элемент).

Могу ли я заставить эту голубую полосу уйти?

альтернативный текст http://img44.imageshack.us/img44/949/boundlistboxdisplay.jpg

Вот полный код.

<Window x:Class="SimpleListTemplate.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     >
    <Window.Resources>
        <XmlDataProvider x:Key="DcCharacters">
            <x:XData>
                <Characters xmlns="">
                    <Character HeroName="Catwoman" Identity="Selina Kyle" />
                    <Character HeroName="Batman" Identity="Bruce Wayne" />
                    <Character HeroName="Starman" Identity="Jack Knight" />
                </Characters>
            </x:XData>
        </XmlDataProvider>
    </Window.Resources>
    <Grid>
        <ListBox 
             ItemsSource="{Binding Source={StaticResource DcCharacters}, XPath=//Characters/*}" 
             HorizontalContentAlignment="Stretch">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Label 
                        Content="{Binding XPath=@HeroName}" 
                        Height="40" 
                        VerticalContentAlignment="Center"
                        Background="LightGreen"
                        BorderThickness="2"
                        BorderBrush="DarkGreen"/>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>
</Window>

1 Ответ

1 голос
/ 11 сентября 2009

Вот обновление для вашего кода.

<Window x:Class="SimpleListTemplate.Window1"     
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 <Window.Resources>
    <XmlDataProvider x:Key="DcCharacters">
        <x:XData>
            <Characters xmlns="">
                <Character HeroName="Catwoman" Identity="Selina Kyle" />
                <Character HeroName="Batman" Identity="Bruce Wayne" />
                <Character HeroName="Starman" Identity="Jack Knight" />
            </Characters>
        </x:XData>
    </XmlDataProvider>
    <Style TargetType="{x:Type ListBoxItem}" x:Key="ContainerStyle">
        <Setter Property="Padding" Value="0,0,0,0"/>
    </Style>
</Window.Resources>
<Grid>
    <ListBox 
        ItemsSource="{Binding Source={StaticResource DcCharacters}, XPath=//Characters/*}"
        ItemContainerStyle="{StaticResource ContainerStyle}" 
        HorizontalContentAlignment="Stretch">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Label 
                    Content="{Binding XPath=@HeroName}"
                    Height="40"
                    VerticalContentAlignment="Center"
                    Background="LightGreen"
                    BorderThickness="2"
                    BorderBrush="DarkGreen"/>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</Grid>
</Window>

Это может решить вашу проблему.

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