Настройка цвета фона стека панели WPF того же цвета, что и фон TextBlock - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть панель стека, которая содержит изображение и TextBlock.

TextBlock привязан к стилю, который заставляет его мигать, меняя цвет фона с красного на черный и наоборот.

Я быКак привязать цвет фона TextBlock к цвету фона панели стека, то есть, когда цвет фона TextBlock - красный, мне нужно, чтобы цвет фона панели стека был красным, а когда цвет фона TextBlock - черный, то цвет фона панели стека должен измениться на Черный и т. д...

Ниже моего кода:

<Border Visibility="{Binding Path=BlinkOn, Converter={StaticResource BoolToVis}}" BorderThickness="1" BorderBrush="Red" CornerRadius="5" Margin="5">
  <StackPanel Orientation="Horizontal" Width="auto" Background="Red">
    <Image Width="24" Height="24" Source="/My.Images;component/Warning.png" />                    
    <TextBlock x:Name="lblStoryboard"
               TextAlignment="Center"
               Padding="5"                                                         
               Width="Auto"    
               Background="Red"
               Foreground="Black"
               FontSize="12.5"
               FontWeight="Bold"
               Style="{StaticResource BlinkingTextBlock}"
               Text="Hi there!" 
               TextWrapping="WrapWithOverflow"
               Visibility="{Binding Path=BlinkOn, Converter={StaticResource BoolToVis}}">
    </TextBlock>
 </StackPanel>
</Border>

1 Ответ

0 голосов
/ 18 декабря 2018

Я решил связать свойство фона TextBlock со свойством фона стека:

<Border Visibility="{Binding Path=BlinkOn, Converter={StaticResource BoolToVis}}" BorderThickness="1" BorderBrush="Red" CornerRadius="5" Margin="5">
  <StackPanel Orientation="Horizontal" Width="auto">
    <StackPanel.Background>
        <Binding ElementName="txtStoryboard" Path="Background"/>
    </StackPanel.Background>
    <Image Width="24" Height="24" Source="/My.Images;component/Warning.png" />                    
    <TextBlock x:Name="txtStoryboard"
               TextAlignment="Center"
               Padding="5"                                                         
               Width="Auto"    
               Background="Red"
               Foreground="Black"
               FontSize="12.5"
               FontWeight="Bold"
               Style="{StaticResource BlinkingTextBlock}"
               Text="Hi there!" 
               TextWrapping="WrapWithOverflow"
               Visibility="{Binding Path=BlinkOn, Converter={StaticResource BoolToVis}}">
    </TextBlock>
 </StackPanel>
</Border>
...