2013-02-09 2 views
1

При использовании цвета связывания какпереплета тонизирует все связанные элементы управления на анимации

Background="{Binding Design.LeftBarColor}" 

и исполняющие анимацию как

<DoubleAnimation From="1" To="0.5" Storyboard.TargetName="appName" 
    Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Opacity)" 
    Duration="0:0:0.25"/> 

все элементы управления, связывающихся с «Design.LeftBarColor» будут обновлены. Но я хочу только обновить цвет фона ярлыка (appName). Я просто попытался изменить режим привязки, но это не сработало. Что я делаю не так?

ответ

2

Вместо непосредственного использования Design.LeftBarColor кисти для фона этикетки, вы можете создать новую кисть фона для каждого ярлыка, и связать цвет новой кисти к Design.LeftBarColor.Color.

<Label Name="appName" ...> 
    <Label.Background> 
     <SolidColorBrush Color="{Binding Design.LeftBarColor.Color}"/> 
    </Label.Background> 
    ... 
</Label> 
+0

Это почти то же самое, что и ответ Рене: Приятная идея, но настройка непрозрачности UIElements не влияет на цвет фона меток - я не хочу менять непрозрачность текста ярлыка –

+0

Спасибо, так оно и было! –

1

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

Пример код здесь:

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Window.Resources> 
     <SolidColorBrush x:Key="MyBrush" Color="Red"/> 
    </Window.Resources> 
    <Grid> 
     <Border Name="Container"> 
      <Label Background="{StaticResource MyBrush}"> 
       <Label.Triggers> 
        <EventTrigger RoutedEvent="Rectangle.Loaded"> 
         <BeginStoryboard> 
          <Storyboard> 
           <DoubleAnimation 
      Storyboard.TargetName="Container" 
      Storyboard.TargetProperty="Opacity" 
      From="1.0" To="0.0" Duration="0:0:5" 
      AutoReverse="True" RepeatBehavior="Forever" /> 
          </Storyboard> 
         </BeginStoryboard> 
        </EventTrigger> 
       </Label.Triggers> 
       Lorem ipsum 
      </Label> 
     </Border> 
    </Grid> 
</Window> 
+0

Приятная идея, но настройка прозрачности границ не влияет на цвет фона меток - я не хочу менять прозрачность текста ярлыка. –

Смежные вопросы