Изменение стиля текста списка остановок XAML при расфокусировке - PullRequest
2 голосов
/ 29 сентября 2011

У меня проблема с программой .NET 4 XAML, которая содержит ListBox.Когда поле списка теряет фокус, текст становится серым, а не установленным белым цветом.Фон сделал это, но я решил, что с

    <Style.Resources>
            <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#376807" />
            <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="#487918" />
    </Style.Resources>

я пробовал несколько способов решения этой проблемы, включая

    <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="Foreground" Value="#FFFFFF" />
            </Trigger>
            <Trigger Property="IsSelected" Value="False">
                <Setter Property="Foreground" Value="#444444" />
            </Trigger>
     </Style.Triggers>

Но не удалось ...

enter image description here

1 Ответ

2 голосов
/ 10 октября 2011

ОК. Я отредактировал свой код.Просто проверьте, удовлетворяет ли это вашим потребностям, если нет, то, пожалуйста, вернитесь.

Следующее было опробовано с некоторыми фиктивными данными в списке, и это работает.Я надеюсь, что это то, что вы искали, если нет, то, пожалуйста, уточните еще.

    <DataTemplate x:Key="SelectedTemplate">
        <TextBlock Text="{Binding}" Background="Green" Foreground="White" />
    </DataTemplate>

    <Style TargetType="{x:Type ListBoxItem}" x:Key="ContainerStyle">
        <Setter Property="ContentTemplate" Value="{StaticResource ItemTemplate}" />
        <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="Background" Value="Green" />
            </Trigger>
        </Style.Triggers>
    </Style>
</Window.Resources>
<StackPanel>
    <ListBox x:Name="dummyList" ItemContainerStyle="{StaticResource ContainerStyle}" HorizontalContentAlignment="Stretch" >
    <ListBoxItem Content="A" />
    <ListBoxItem Content="B" />
    <ListBoxItem Content="C" />
</ListBox>
<Button Height="31" Width="61" Content="Click"/>
    <ListBox Name="listBox2" Height="100" Width="120" HorizontalContentAlignment="Stretch">
    <ListBoxItem Content="XX" />
        <ListBoxItem Content="YY" />
    </ListBox>
</StackPanel> 
...