我有以下datatrigger,但exitactions未觸發。進入行動工作找到。我也嘗試將綁定轉換爲布爾值來查看它是否與null有關,但這也沒有幫助。我有什麼錯,爲什麼不是我的退出行爲在這裏開火?DataTrigger.ExistActions未針對綁定值「null」觸發
<DataTrigger Binding="{Binding }" Value="{x:Null}">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" To=".5" From="0" Duration="0:0:1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="0" From=".5" Duration="0:0:1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
編輯:東西STANGE必須回事,因爲我也試着服用故事板的方程,只是使用塞特 - 現在什麼也沒有發生......
所以,代替這一點,我會後整個TextBlock的,也許有人能指出我錯過了什麼
<Grid DataContext="{Binding ElementName=ConfigTree, Path=SelectedItem.Details}">
<TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" TextAlignment="Center" Padding="10" VerticalAlignment="Center" FontWeight="Bold" FontSize="14" Opacity="0">
Select a configuration on the right to modify its selected columns
<TextBlock.Style>
<Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
<Style.Triggers>
<DataTrigger Binding="{Binding }" Value="{x:Null}">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard Duration="0:0:1">
<DoubleAnimation Storyboard.TargetProperty="Opacity" To=".5" From="0" Duration="0:0:1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="0" From=".5" Duration="0:0:1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
ConfigTree是一個treeview,SelectedItem.Details是一個實現了observablecollection和INotifyPropertyChanged的類。我使用調試器進行了檢查,該綁定正確更新,並來回切換到我的實例值和空值。
btw,我已經確認綁定確實正確更新。綁定正在變化爲一個空值,因爲我期待 - 但沒有退出行動:( – mark 2012-02-09 15:54:35