2009-05-26 5 views
1

私はカスタムのトライステートボタンユーザーコントロールを開発しようとしていますが、これまではCTFを使用してプロパティを設定していました。
しかし、私はこれを、PropertiesDependenciesでWPFプロパティシステムを使用するように変更したいと思います。

残念ながら私はそれを動作させることはできません。私はDynamicResourceを使用してxaml(父)からプロパティを設定すると、値が設定されません。ここでパラメータとしてDynamicResourceを持つXAMLからDependencyPropertが設定されていません

<common:StateImageButton x:Name="story_buttonRecord" BackTest="{DynamicResource backTest}" /> 

私は私のボタンコントローラを持っているコードは次のとおりです。

私もまだ私のボタンXAMLでプロパティを使用していないが、それは明らかにしてもセッターに入らない
public ImageSource BackTest 
    { 
     get { return (ImageSource)this.GetValue(BackProp); } 
     set { this.SetValue(WidthProp,value); } 
    } 

    public static readonly DependencyProperty BackProp = 
     DependencyProperty.Register(
      "BackTest", 
      typeof(ImageSource), 
      typeof(StateImageButton), 
      new FrameworkPropertyMetadata()); 

。私は成功せずにオンラインで多くのことを探してきました。だから多分私は何かを見逃している。あなたの助けを事前に

おかげで、 ボリス

答えて

1

はまた、WPFは、それが直接それをしない、プロパティを設定するためのセッターを使用していません。

WPFがプロパティを設定するときにデバッグする方法は、そのようにプロパティが設定されているときにコールバックを追加することです。

public static readonly DependencyProperty BackProp = 
    DependencyProperty.Register(
     "BackTest", 
     typeof(ImageSource), 
     typeof(StateImageButton), 
     new FrameworkPropertyMetadata(OnBackChanged)); 

private static void OnBackChanged(
    DependencyObject d, 
    DependencyPropertyChangedEventArgs e) 
{ 
    var sender = (StateImageButton)d; // Put a breakpoint here 
} 
+0

実際には値が正しく設定されており、レコードの場合、カスタムプロパティのパラメータとしてDynamicRecordsを設定することができます。 –

関連する問題