非表示のコントロールではなく、折りたたまれたコントロールでアニメーションが失敗するのはなぜですか?
具体的には、WPFには、アニメーション付きのカスタムメイドのチェックボックスがあります。これにより、可視性が「setVisible」リソース要素に動的にリンクされます(非常に単純化されたこれは次のようになります)。
<local:MyCheckBox x:Name="checkNonVisual" Visibility="{DynamicResource setVisible}" />
コードでは、checkNonVisualの値をtrue、false、またはnullに設定しました。これにより、チェックボックスで小さなアニメーションがトリガーされます。
これは、要素/「setVisible」リソース要素の可視性がVisibility.VisibleおよびVisibility.Hiddenに設定されている場合は機能しますが、可視性がVisibility.Hiddenに設定されている場合はクラッシュし、以下のエラーで折りたたまれます。
可視性が折りたたまれているときにアニメーションが失敗する理由と、可視性が非表示になっているときにアニメーションが失敗しない理由を誰かに説明できますか?
折りたたみを使用し続ける場合、アニメーションが実行されないようにして、アニメーションがクラッシュしないようにするにはどうすればよいですか?
Stacktraceの抽出:
System.InvalidOperationExceptionが処理されませんでした
Message='Check'nameが'System.Windows.Controls.ControlTemplate'の名前スコープに見つかりません。
Source = PresentationFrameworkスタックトレース:
System.Windows.Media.Animation.Storyboard.ResolveTargetName(String targetName、INameScope nameScope、DependencyObject element)で
System.Windows.Media.Animation.Storyboard.ClockTreeWalkRecursive(Clock currentClock、DependencyObject containsObject、INameScope nameScope、DependencyObject parentObject、String parentObjectName、PropertyPath parentPropertyPath、HandoffBehavior handoffBehavior、HybridDictionary clockMappings、Int64 layer)
[...]
System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)でSystem.Windows.Controls.Primitives.ToggleButton.OnChecked(RoutedEventArgs e)で
[...]