デザイン時に ContentControl ContentTemplateSelector を解決できないのはなぜですか?
(実行時に動作します)
デザイナー(VS2010)は例外を示します:
System.Reflection.TargetInvocationException 呼び出しのターゲットによって例外がスローされました。
と
System.NullReferenceException オブジェクト参照がオブジェクトのインスタンスに設定されていません。
XAML:
<Window.Resources>
<DataTemplate x:Key="Temp1">
<TextBox TextWrapping="Wrap" Text="1" Height="20" Width="Auto"/>
</DataTemplate>
<local:TemplateSelector x:Key="mySelector"/>
<Grid>
<ContentControl ContentTemplateSelector="{StaticResource mySelector}">
<ContentControl.Content>
1
</ContentControl.Content>
</ContentControl>
</Grid>
</Window.Resources>
C#:
public class TemplateSelector : DataTemplateSelector
{
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
//int num = int.Parse(item.ToString());
Window win = Application.Current.MainWindow;
return win.FindResource("Temp1") as DataTemplate;//load template based on num...
}
}