カスタム DataTemplateSelector | 野良エンジニアの足跡

カスタム DataTemplateSelector

こんにちは、nagino です。


DataTemplateSelector を継承した「カスタム DataTemplateSelector」(という呼び方が正しいのかは分かりませんがそのようなもの)を作成していて、嵌りました。


http://msdn.microsoft.com/ja-jp/library/ms742521.aspx

こちらを参考にしていたのですが、複数のウィンドウで構成されるアプリケーションの場合は


> Window window = Application.Current.MainWindow;Window window = Application.Current.MainWindow;

> return window.FindResource("importantTaskTemplate") as DataTemplate;

で取得している window が必ずしもリソースを定義している Window とは限らないのですね。

で、おそらく正しくは


> return ((FrameworkElement)container).FindResource("importantTaskTemplate") as DataTemplate;


で直接取得すると間違いがありません。


細かいのですが、こういうところで嵌るとタイムロスが痛いです。