Можно ли использовать одно и то же? - PullRequest
1 голос
/ 29 июня 2011

У меня есть панель стека, содержащая три текстовых блока, ограниченных другой переменной-членом. I

хотите установить свойство на переднем плане textblocks на основе свойства Is mouse over. Могу ли я использовать

то же самое относится и к свойству мыши для всех текстовых блоков панели, или я должен установить для каждого

а каждый текстовый блок? Это первый раз, когда я использую триггеры.

Вот мой код

 <StackPanel Grid.ColumnSpan="3" HorizontalAlignment="Left" Orientation="Horizontal" Margin="0,-3,0,2.932">
         <TextBlock Grid.Column="0" Text="{Binding Path=Location}" Foreground="#FFFFF1A5" Style="{StaticResource Textstyle}" />
         <TextBlock Grid.Column="1" Text="{Binding Path=Name}" Foreground="#FFFFF1A5" Style="{StaticResource Textstyle}" />
         <TextBlock Grid.Column="2" Text="{Binding Path=Age}"Foreground="#FFFFF1A5" Style="{StaticResource Textstyle}" />
                  <StackPanel.Resources>
                     <Style x:Key="Textstyle" TargetType="{x:Type TextBlock}">
                          <Style.Triggers>
                             <Trigger Property="IsMouseOver" Value="True">
                                 <Setter Property="Foreground" Value="#FFFFFFFF"/>                                                                                                       
                             </Trigger>
                           </Style.Triggers>
                     </Style>                                               
                  </StackPanel.Resources>
  </StackPanel>

Что-то не так в моем подходе?

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

1 Ответ

0 голосов
/ 12 июля 2011

Ваше местное свойство Foreground имеет приоритет над стилем.Вместо этого установите свойство Foreground по умолчанию в стиле.

<StackPanel Grid.ColumnSpan="3" HorizontalAlignment="Left" Orientation="Horizontal" Margin="0,-3,0,2.932">
    <StackPanel.Resources>
        <Style x:Key="Textstyle" TargetType="TextBlock">
            <Setter Property="Foreground" Value="#FFFFF1A5"/>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Foreground" Value="#FFFFFFFF"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </StackPanel.Resources>
    <TextBlock Grid.Column="0" Text="{Binding Path=Location}" Style="{StaticResource Textstyle}" />
    <TextBlock Grid.Column="1" Text="{Binding Path=Name}" Style="{StaticResource Textstyle}" />
    <TextBlock Grid.Column="2" Text="{Binding Path=Age}" Style="{StaticResource Textstyle}" />
</StackPanel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...