<Border Name="ItemBorder" Margin="5 5 0 5" BorderBrush="Black" BorderThickness="1" Height="75" Width="75">
<Border.Background>
<SolidColorBrush x:Name="ItemBorderBrush" Color="LightBlue"/>
</Border.Background>
<ContentPresenter/>
</Border>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="someEvent">
<BeginStoryboard>
<Storyboard TargetName="ItemBorderBrush" TargetProperty="Color" Duration="0:0:1" >
<!--Storyboard TargetName="ItemBorder" TargetProperty="Background.Color" Duration="0:0:1"> -->
<ColorAnimation To="White"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
Postaram się wyjaśnić wyraźnie moje pytanie. Nazwa celu Storyboard, gdy jest to "ItemBorder" (skomentowana linia wyjściowa) działa sporadycznie. Czasami pojawia się błąd, że nazwy "ItemBorder" nie można znaleźć w zakresie.Co to jest x: Nazwa w języku xaml (WPF) i jego użycie w Storyboard
Postanowiłem zastosować styl z przykładu MSDN tego i zmienić właściwość koloru bezpośrednio na pędzlu, zamiast mieć cel scenorysu jako obramowanie i zmieniać kolor pędzla granicy według właściwości (skomentowana linia). To wydaje się działać.
Jednak Name="ItemBorderBrush"
nie kompiluje bo Name
nie jest właściwością SolidColorBrush
więc używam x:Name="ItemBorderBrush"
Zarówno Name
i x:Name
są akceptowane na granicy. Dlaczego to?
Czego x:
myśli (jak to x:Name
różni się od Name
) i dlaczego mający własność granicy Name
pracować tylko z ujęć czasami?
patrz także [w WPF, jakie są różnice między X:? Imię i Nazwisko atrybutów] (http://stackoverflow.com/questions/589874/in-wpf-what-are- atrybuty "differ-between-the-xname-and-name") –