<MODULES:RegisterPanel.Style>
<Style TargetType="MODULES:RegisterPanel">
<Style.Setters>
<Setter Property="Opacity" Value="0"/>
</Style.Setters>
<Style.Triggers>
<DataTrigger Binding="{Binding Modules.ButtonList.SelectedModule}" Value="1">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:00:00.200"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:00:00.200"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</MODULES:RegisterPanel.Style>
Gdy wartość SelectedModule wyniesie 1 opacity rośnie do 1.00. Odwrotnie spada do zera. Niestety nie wiem jak obsłużyć Visibility kontrolki.
Można to zrobić w ten sposób:
<MODULES:RegisterPanel.Style>
<Style TargetType="MODULES:RegisterPanel">
<Style.Setters>
<Setter Property="Opacity" Value="0"/>
</Style.Setters>
<Style.Triggers>
<Trigger Property="Visibility" Value="Visible">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:00:00.200"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:00:00.200"/>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
</MODULES:RegisterPanel.Style>
Mogę dla każdego identyfikatora pisać konwerter, że jeżeli zmienna równa się 4 to TRUE, inaczej FALSE. Pytanie: czy da się prościej nie pisząć do 100 modułów 100 konwerterów