オブジェクトを効果的に使用および作成する方法について説明します。これにより、アプリケーションのパフォーマンスを向上させるための特別な機能が提供されます。オブジェクトの例としては、ブラシ、ペン、変換、ジオメトリ、アニメーションなどがあります。固定されていない2つの状態を持つ特殊な種類のオブジェクトです。他のオブジェクトと同様に動作するように見えます。変更できなくなります。イベントが用意されています。固定すると、変更通知のリソースを消費する必要がなくなるため、パフォーマンスが向上します。オブジェクトのほとんどは、グラフィックスサブシステムに関連しています。クラスを使用すると、特定のグラフィックスシステムオブジェクトを簡単に使用できるようになり、アプリケーションのパフォーマンスを向上させることができます。アンマネージリソースが含まれているため、システムはこれらのオブジェクトを監視して変更する必要があり、元のオブジェクトに変更があった場合に対応するアンマネージリソースを更新する必要があります。グラフィックスシステムオブジェクトを実際に変更していない場合でも、オブジェクトを変更する場合は、そのリソースを監視する必要があります。ブラシを作成し、それを使用してボタンの背景を描画するとします。グラフィックスサブシステムは、指定した情報を使用して、ピクセルのグループを描画し、ボタンの外観を作成します。単色ブラシを使用してボタンを描画する方法を記述していますが、純色ブラシは実際には描画を行いません。グラフィックスシステムでは、ボタンとブラシ用の高速で低レベルのオブジェクトが生成されます。これは、実際に画面に表示されるオブジェクトです。screen.ブラシを変更する場合は、それらの下位レベルのオブジェクトを再生成する必要があります。クラスは、ブラシが、それに対応する生成された低レベルのオブジェクトを検索し、変更されたときにそれらを更新する機能を提供します。メソッドを使用すると、この自己更新機能を無効にすることができます。されるか、変更不可能になるようにすることができます。オブジェクトを固定することはできません。プロパティの値を調べて、凍結を試行する前に固定できるかどうかを判断します。変更する必要がなくなった場合は、固定するとパフォーマンス上の利点が得られます。この例でブラシをフリーズさせた場合、グラフィックスシステムは、変更を監視する必要がなくなります。グラフィックスシステムは、ブラシが変更されないことを認識しているため、他の最適化を行うこともできます。オブジェクトは、明示的に固定しない限り、凍結されたままになります。使用は、他の種類のオブジェクトを使用するのと似ています。色が黄色から赤に変更されています。グラフィックスシステムはバックグラウンドで動作し、次に画面が更新されたときにボタンを黄色から赤に自動的に変更します。メソッドを呼び出します。オブジェクトを含むオブジェクトを固定すると、それらのオブジェクトも固定されます。PathGeometryを固定すると、その中に含まれる図形とセグメントも固定されます。フリーズすることはできません。true:アニメーション化されたプロパティまたはデータバインドされたプロパティがあります。properties.動的リソースによって設定されるプロパティがあります。リソース」を参照してください)。サブオブジェクトが含まれます。Freezableを変更する予定がない場合は、前に説明したパフォーマンス上の利点を得るために、これらの条件を固定する必要があります。メソッドを呼び出すと、変更できなくなります。次のコードは、凍結された後にブラシを変更しようとしているため、例外をスローします。固定されているかどうかを確認します。メソッドを使用して、固定されたオブジェクトで変更可能なコピーを作成しました。次のセクションでは、複製の詳細について説明します。オブジェクトの変更可能な複製がアニメーションシステムによって自動的に作成されます。複製によって発生するパフォーマンスのオーバーヘッドを回避するには、オブジェクトをアニメーション化する場合は、固定されていないままにします。ストーリーボードを使用したアニメーション化の詳細については、「ストーリーボードの概要」を参照してください。ページリソースとして宣言され、固定されています。次に、ボタンの背景を設定するために使用されます。マップする必要があります。この名前空間のマッピングに推奨されるプレフィックスです。属性を無視としてマークすることをお勧めします。属性」ページを参照してください。変更したり、凍結解除したりすることはできません。方法を使用して、凍結解除された複製を作成することができます。method.次の例では、ボタンの背景がブラシで設定され、そのブラシが固定されています。メソッドを使用して、固定されていないコピーが作成されます。複製が変更され、ボタンの背景を黄色から赤に変更するために使用されます。Freezableにコピーされません。ディープコピーを作成します。オブジェクトが含まれている場合は、それらも複製され、変更可能になります。複製して変更可能にする場合、含まれる図形とセグメントもコピーされ、変更可能になります。派生するクラスでは、次の機能が得られます。スレッド間で共有できます。オブジェクトは、サブプロパティ値が変更したときに変更通知を提供します。クラスには、ディープクローンを生成するいくつかのメソッドが既に実装されています。DependencyObjectの一種であるため、依存関係プロパティシステムを使用します。クラスのプロパティは依存関係プロパティである必要はありませんが、依存関係プロパティを使用すると、記述する必要のあるコードの量が少なくなります。クラスが依存関係プロパティを念頭に置いて設計されているためです。依存関係プロパティシステムの詳細については、「依存関係プロパティの概要」を参照してください。メソッドをオーバーライドする必要があります。クラスがすべてのデータに依存関係プロパティを使用している場合は、これで完了です。finished.クラスに依存関係のないプロパティのデータメンバーが含まれている場合は、次のメソッドもオーバーライドする必要があります。methods:CloneCoreCloneCurrentValueCoreGetAsFrozenCoreGetCurrentValueAsFrozenCoreFreezeCoreまた、依存関係プロパティでないデータメンバーにアクセスして書き込む場合は、次の規則に従う必要があります。メソッドを呼び出します。メソッドを呼び出します。追加で呼び出す必要はありません)。メソッドを呼び出します。メソッドを呼び出す必要があります。メソッドを開始することが非常に重要です。クラスの例については、「カスタムアニメーションのサンプル」を参照してください。Propertiesお勧めのコンテンツこのページはお役に立ちましたか?はいいいえ追加のフィードバックはありますか?スキップ送信ありがとうございます。Cookie利用条件サイトのフィードバック商標このページはお役に立ちましたか?はいいいえ追加のフィードバックはありますか?スキップ送信ありがとうございます。Cookie利用条件サイトのフィードバック。