2

Silverlightにカスタムコントロールがあります。アプリケーションをもう一度ビルドするまで、プロパティウィンドウを介したプロパティの変更は更新されません。何が問題なのですか?

たとえば言ってください。Shapesというコントロールがあります。形状のタイプを「オクタン」として選択すると、ブレンドデザイン時のサーフェスにサンプルのオクタンが表示されます。

しかし、私の場合、それは発生していません。アプリケーションを再度ビルドするまで、ブレンドデザイナーは更新されません。これについて私にアドバイスしてください。私は、消費者が不動産の価値を変えるたびにそれを構築させて、消費者を困らせたくありません。

注:コントロールで公開されているすべてのプロパティは依存関係プロパティです。

4

2 に答える 2

1

プロパティの値が変更されたときにコントロールが更新されるように、プロパティのセッターを実装しましたか?

(ところで、私が興味があるという理由だけで、オクタンの形は何ですか?それは化学と関係がありますか?)

于 2010-09-14T12:11:46.357 に答える
0

私が持っていたのは、CommonStylesスタイルを適用するためのタイプのプロパティでした。例えば、

CommonStyles背景、前景、厚さなどのdpが含まれます。

私が犯した間違いは、以下のような値を直接割り当てたということでした。基本クラスで。[ShapeStyleはCommonStyleタイプのdpです]

//// Both properties are dp's but, assigned them like normal property. This caused the issue
ShapeBase.Background = this.Shape.ShapeStyle.Background;
ShapeBase.Foreground = this.Shape.ShapeStyle.Foreground; 

ShapeFace.Background = this.Shape.ShapeFaceStyle.Background;
...

背景プロパティを変更しても、プロパティは更新されませんShapeBase.Background。なぜなら、それは依存関係に縛られていないからです。

dpバインディングで解決しました。以下のように。

this.ShapeBase.SetBinding(BackgroundProperty, 
              new Binding() { 
              Source = this.Shape.ShapeStyle,
              Path = new PropertyPath("Background") });
于 2010-09-22T10:59:26.740 に答える