Làm cách nào để tạo hiệu ứng cho chiều rộng của phần tử từ 0 đến chiều rộng thực tế của nó trong WPF?Chiều rộng hoạt ảnh với chiều rộng thực tế trong WPF?
Tôi cố gắng này:
<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>
Nếu tôi thay đổi liên kết với một giá trị cứng mã hoá, như 100
, sau đó chiều rộng được hoạt hình đúng cách, ngoại trừ việc tôi muốn liên kết với độ rộng thực tế của nguyên tố này.
Nếu quan trọng, MyElement
là đường viền và tôi đang tạo hoạt ảnh cho mục tab.
Đối với hồ sơ, điều này không làm việc, hoặc:
To="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualWidth}"
Có ai nhận được điều này để làm việc cho 'BindableDoubleAnimation' s nằm bên trong 'Storyboard' có trong' VisualState' của 'ControlTemplate' không? Đối với các trường hợp mà tôi chỉ có một 'BindableDoubleAnimation' trong' VisualState' và tôi hardcode giá trị "To" (để nói một cái gì đó như "100"), không có gì được hoạt hình, và không phải 'GetCurrentValueCore' cũng không' CreateInstanceCore' đang được gọi . Đối với các trường hợp mà tôi sử dụng dữ liệu ràng buộc trên thuộc tính "Tới" thì liên kết luôn không thành công, luôn xuất lỗi "Không thể tìm nguồn để liên kết ...". Ngay cả khi tôi thử mọi thứ từ trên nguyên văn, nó vẫn thất bại. –
... Tôi rất muốn làm việc này - có vẻ như nó có thể là một giải pháp tuyệt vời! –