Expression Blend 4 + Visual Studio 2010 Pro를 사용하여 WPF 응용 프로그램을 만듭니다.VS2010의 InvalidOperationException
완벽하게 작동하는 Blend 4만을 사용하는 CheckBox를 기반으로 컨트롤 스타일을 만들었습니다 (또는 템플릿이라고해야합니까?). 내가 VS2010로 이동 그러나 때 다음과 같은 "오류"를 얻을 :..
'[알 수없는]'속성이 '경로 에 에 DependencyObject에를 가리 키지 (0) (1) [0] (2) '.
응용 프로그램을 실행해도 완벽하게 작동합니다. 자, 난이 오류를 해결하기 위해 이 필요하지 않지만 어쨌든 그것을 제거하고 싶습니다. 당신은 위탁 수하물과 국가 모두에서 스토리 보드에 오류 참조를 볼 수 있듯이
<Style x:Key="IRSensorCheckBoxStyle" TargetType="{x:Type CheckBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<Grid Cursor="Hand">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.StrokeThickness)" Storyboard.TargetName="ellipse">
<EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.StrokeThickness)" Storyboard.TargetName="ellipse">
<EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="2"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.StrokeThickness)" Storyboard.TargetName="ellipse">
<EasingDoubleKeyFrame KeyTime="0" Value="2"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled"/>
</VisualStateGroup>
<VisualStateGroup x:Name="CheckStates">
<VisualState x:Name="Checked">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="ellipse">
<EasingColorKeyFrame KeyTime="0:0:0.3" Value="Red"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Unchecked">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="ellipse">
<EasingColorKeyFrame KeyTime="0:0:0.2" Value="#00FF0000"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Indeterminate"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Ellipse x:Name="ellipse" Stroke="Yellow" StrokeThickness="0">
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Color="Red"/>
<GradientStop Offset="1" Color="#00FF0000"/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
: 여기
는 스타일의 XAML 코드입니다. 그러나 그 대상이 "타원"이기 때문에 속성이 DependencyObject를 가리키고 있지 않다는 오류에 동의하지 않습니다. Target 속성이 Shape 's Fill을 가리키고 있습니다. 바로 그곳에 있습니다 (Ellipse 's Fill). GradientBrush의 GradientStops [0]에는 RadialGradientBrush에 2 개의 GradientStops가 있습니다. 그리고 마지막으로 GradientStop의 Color 속성으로 이동합니다.누구에게 의견이 있습니까?
미리 감사드립니다. 당신이 직접 색상 속성을 참조 할 수 GradientStop 당신에게 이름을 지정하는 경우
: