C#+WPFチューニング戦記スマートフォン用の表示で見るC#+WPFチューニング戦記C#とWPFで高速なコードと最適なシステムを書くためにやってきたいろいろな事を書いてみます。Frameworkのソースコードを読み解きましょう。ここに書かれているのは個人の見解であって何らかの団体や企業の見解を代表するものではありません。この広告は、90日以上更新していないブログに表示しています。WPF依存関係プロパティ(継承タイプ)を変更しますと。このあたりをスタート地点としまして。http://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/DependencyObject.cs,1243長い処理を経てここに到達します。http://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/DependencyObject.cs,869DependencyObject内にFreezableのために特別な処理が入っています。具体的には継承する依存関係プロパティは、下位のFreezableなDependencyObjectに伝播するという仕掛けの様子。FrameworkElementからのはずですが、ここでは、それとは別の継承関係に関する情報です。http://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/DependencyObject.cs,2786FrameworkElementの中にFreezableがあるとDataContextがFreezableから参照できて、Bindingできるメカニズムが長いこと謎と言われていた気がするのですが、実はDependencyObjectのなかに何やらあった模様です。Microsoftは資料は出してないけど、リファレンスコードにはそれなりのヒントがあるっぽいです。これで正解かは実際に動かしてないのでちょっと確認不足です。Binding自体はFreezableはDependencyObjectを継承しているから特に問題はないはずですし、自分に届いたコンテキストのリストはFreezableにありますので、そこから欲しい値を取ってきてBindingしているのです。・・・のだと思うのですが、やっぱりもう少し調べる必要はありそうです。Binding.csのリファレンスコードあたりをよく読めば、多分このあたりの問題は解消できそうです。今日は考えかけなので、また今度掘り下げますね。いずれにしても、仕組みがわからないから放置は良くありません。2014...2014-12-16FreezableにDataContextが伝播する仕掛け(その2)素早く実証コードを書いてみました。ViewModelとしては概ねこ...2014-09-18共変性と反変性のこと、無法なobjectを撤廃する事C#に触れていると嫌でも出てくる共変性と反変性のこと。これを...2014-09-01RecomputeZState()を読みますhttp://referencesource.microsoft.com/#PresentationFramework...2014-08-20UIElementやFrameworkElementの派生クラスのサイズUIElementやFrameworkElementや他のコントロール群。»プロフィールid:proprogrammerC#とWPFで高速なコードを書くためにやってきたいろいろな事を書いてみます。リリースされましたね月別アーカイブ参加グループプログラミングはてなブログをはじめよう!proprogrammerさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。