2009-12-22 2 views
2

Silverligh 4, VS 2010.Double and Single의 DependencyProperty 문제

사용자 지정 컨트롤 만들기. (비 단지 UserControl을하지만, 공용 클래스 HandPart : 제어 및 \ 테마의 템플릿) 그럼 난 새로운 헬퍼 스 니펫 (snippet)와 DependencyProperty를 만드는

: 결과 솔루션으로

#region SomeDouble (DependencyProperty) 

/// <summary> 
/// A description of the property. 
/// </summary> 
public Double SomeDouble 
{ 
    get { return (Double)GetValue(SomeDoubleProperty); } 
    set { SetValue(SomeDoubleProperty, value); } 
} 
public static readonly DependencyProperty SomeDoubleProperty = 
    DependencyProperty.Register("SomeDouble", typeof(Double), typeof(HandPart), 
     new PropertyMetadata(0)); 

#endregion 

는 밖으로 컴파일 오류 및 메시지가 있지만 시작되지 않습니다. 예를 들어 Int 유형이 Double 또는 Single 인 DependencyProperty를 만들면 정상적으로 작동합니다.

플로트가있는 문제는 무엇입니까? 왜 float 유형으로 DP를 만들 수 없습니까?

답변

5

PropertyMetadata 생성자로 전달하는 0 인수는 double이 아닌 int으로 해석됩니다. 0.0 대신 다음과 같이 전달하십시오.

public static readonly DependencyProperty SomeDoubleProperty = 
    DependencyProperty.Register("SomeDouble", typeof(Double), 
     typeof(HandPart), new PropertyMetadata(0.0)); 
+0

+1 완전히 좋습니다! – FFire