Bir öğenin genişliğini WPF'de 0'dan gerçek genişliğine nasıl canlı yapabilirim? WPF'deki gerçek genişlik için animasyon genişliği?
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.3" To="{Binding ElementName=MyElement, Path=ActualWidth}" From="0" Storyboard.TargetProperty="Width" Storyboard.TargetName="MyElement" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
Ben 100
gibi sabit kodlanmış bir değere bağlanması değiştirirseniz
Önemli ise, MyElement
bir kenarlıktır ve bir sekme öğesini hareketlendiriyorum. Kayıt için
To="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualWidth}"
Bunu “ControlTemplate” ın bir “VisualState” inin içinde bulunan 'Storyboard'un içinde bulunan 'BindableDoubleAnimation' için çalışmak için bunu yapan var mı? VisualState'de sadece bir "BindableDoubleAnimation" var ve "To" değerini ("100" gibi bir şey söylemek için) kodladığım durumlarda hiçbir şey canlandırılmaz ve ne "GetCurrentValueCore" ne de "CreateInstanceCore" adı verilir . "Kime" özelliği üzerinde veri bağlama kullandığım durumlarda, her zaman bağlanma başarısız olur, her zaman hata "Çıktı için kaynak bulamıyor ..." çıktı. Herşeyi yukarıdaki sözüstümden denediğimde bile başarısız olur. –
... Bunu işe almak isterim - bu harika bir çözüm olabilirmiş gibi görünüyor! –