DataTrigger에서 ProgressBar가 true로 설정되면 타원을 회전하고 싶습니다. 그러나 그것은 작동하지 않습니다. 난 타원 테스트 불투명도와 확인입니다. 그러나 RotateTransform에서는 작동하지 않습니다. 타원도 EventTrigger와 함께 작동합니다.타원이 데이터 트리거에서 회전 할 수 없음
내 실수는 무엇이며 어떻게 수정합니까?
내 문제를 읽어 주셔서 감사합니다.
<Ellipse Name="ProgressEllipse" Width="40" Height="40" StrokeThickness="7" Stroke="{StaticResource ProcessEllipseGradient}" Margin="5,0,0,0">
<Ellipse.RenderTransform>
<RotateTransform CenterX="20" CenterY="20" Angle="0"/>
</Ellipse.RenderTransform>
<!--<Ellipse.Triggers>
<EventTrigger RoutedEvent="Ellipse.Loaded" SourceName="ProgressEllipse">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="ProgressEllipse"
Storyboard.TargetProperty="(Ellipse.RenderTransform).(RotateTransform.Angle)"
From="0"
To="360"
Duration="0:0:1"
RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Ellipse.Triggers>-->
<Ellipse.Style>
<Style TargetType="{x:Type Ellipse}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=ProgressBar}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="(Ellipse.RenderTransform).(RotateTransform.Angle)"
From="0"
To="1"
Duration="0:0:5"
RepeatBehavior="Forever"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
추가 정보
WPF - 그것 죄송합니다. 나는 나의 질문을 분명하게하지 않는다. Ellipse는 폼에 직접있을 때 작동합니다. 하지만 템플릿에있을 때는 작동하지 않습니다.
다음은 제 코드입니다. https://www.mediafire.com/?7rb8gvthx94rfiy
트리거에서 "RelativeSource = {RelativeSource self}"를 생략하면 다음과 같습니다. 그것은 예외를 던질 것입니다 (불변의 객체 인스턴스에 '(0). (1)'을 움직일 수 없습니다)
샘플 코드에서. 나는 타원 3 개가있다. 왼쪽 타원은 템플릿에서 찾을 때 작동하지 않습니다 (작동 시키려고 시도하지만 작동하지 않습니다). 중심 타원은 템플릿의 타원과 동일한 코드입니다. 하지만 양식에서 직접 찾을 때 제대로 작동합니다. 그리고 템플릿의 불투명도 속성으로 타원을 테스트합니다. 그리고 그것은 정상적으로 작동합니다. 나는 내 실수인지 모른다.
나를 도와 줄 수 있습니까? WPF에 존재하지 않는 내 질문에
죄송합니다. 나는 나의 질문을 분명하게하지 않는다. 위에 질문을 수정했다. – PhuVo