Я пытаюсь исчезнуть в элементе управления, когда он становится видимым. Следующая компиляция и работает нормально, она просто не исчезает (элемент управления мгновенно появляется, когда IsActive установлен в true)
<UserControl x:Class="blah"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:util="clr-namespace:blah.Util"
mc:Ignorable="d"
d:DesignHeight="250" d:DesignWidth="400">
<UserControl.Resources>
<util:BooleanToVisibilityConverter x:Key="BoolToVis" />
<Style TargetType="UserControl">
<Style.Triggers>
<Trigger Property="Visibility" Value="Visible">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.0" To="1.0" Duration="0:0:1.25" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
<UserControl.Visibility>
<Binding Path="IsActive" Converter="{StaticResource ResourceKey=BoolToVis}" ConverterParameter="False" />
</UserControl.Visibility>
<!-- Snip rest of simple control -->
</UserControl>
Во-первых, я был бы благодарен, если бы кто-нибудь мог сказать мне, почему это не работает.
Во-вторых, мне было интересно, есть ли способ отладки таких вещей, так как я часто пытаюсь заставить триггеры работать должным образом. В настоящее время моя отладка состоит в том, чтобы посмотреть на XAML, чтобы попытаться выяснить, в чем дело, или случайно изменить биты, чтобы попытаться сузить область.
Что я действительно хочу сделать, так это установить точку останова на бит <Trigger Property="Visibility" Value="Visible">
, чтобы увидеть, запускается ли она в качестве отправной точки. Очевидно, я не могу этого сделать, но мне было интересно, есть ли способ сделать более структурированную отладку, чем мой текущий случайный тычок в глухую стену. : - /