diff --git a/samples/snippets/csharp/VS_Snippets_Wpf/ContentControlTemplateSelector/CSharp/Window1.xaml b/samples/snippets/csharp/VS_Snippets_Wpf/ContentControlTemplateSelector/CSharp/Window1.xaml index 79448eaadecbf..52d1db42051eb 100644 --- a/samples/snippets/csharp/VS_Snippets_Wpf/ContentControlTemplateSelector/CSharp/Window1.xaml +++ b/samples/snippets/csharp/VS_Snippets_Wpf/ContentControlTemplateSelector/CSharp/Window1.xaml @@ -24,7 +24,9 @@ - + diff --git a/samples/snippets/csharp/VS_Snippets_Wpf/ContentControlTemplateSelector/CSharp/Window1.xaml.cs b/samples/snippets/csharp/VS_Snippets_Wpf/ContentControlTemplateSelector/CSharp/Window1.xaml.cs index acc2605809d9f..20dc947d1156f 100644 --- a/samples/snippets/csharp/VS_Snippets_Wpf/ContentControlTemplateSelector/CSharp/Window1.xaml.cs +++ b/samples/snippets/csharp/VS_Snippets_Wpf/ContentControlTemplateSelector/CSharp/Window1.xaml.cs @@ -30,42 +30,29 @@ public Window1() } // - public class NumderDataTemplateSelector : DataTemplateSelector + public class NumberDataTemplateSelector : DataTemplateSelector { + public DataTemplate NumberTemplate { get; set; } + public DataTemplate LargeNumberTemplate { get; set; } + public override DataTemplate SelectTemplate(object item, DependencyObject container) { - string numberStr = item as string; - - if (numberStr != null) + // Null value can be passed by IDE designer + if (item == null) return null; + + var num = Convert.ToInt32((string)item); + + // Select one of the DataTemplate objects, based on the + // value of the selected item in the ComboBox. + if (num < 5) { - int num; - Window win = Application.Current.MainWindow; - - try - { - num = Convert.ToInt32(numberStr); - } - catch - { - return null; - } - - // Select one of the DataTemplate objects, based on the - // value of the selected item in the ComboBox. - if (num < 5) - { - return win.FindResource("numberTemplate") as DataTemplate; - } - else - { - return win.FindResource("largeNumberTemplate") as DataTemplate; - - } + return NumberTemplate; + } + else + { + return LargeNumberTemplate; } - - return null; } - } // } \ No newline at end of file diff --git a/samples/snippets/visualbasic/VS_Snippets_Wpf/ContentControlTemplateSelector/VisualBasic/Window1.xaml b/samples/snippets/visualbasic/VS_Snippets_Wpf/ContentControlTemplateSelector/VisualBasic/Window1.xaml index d9ebcb3f7a15b..fb3d52ec089e4 100644 --- a/samples/snippets/visualbasic/VS_Snippets_Wpf/ContentControlTemplateSelector/VisualBasic/Window1.xaml +++ b/samples/snippets/visualbasic/VS_Snippets_Wpf/ContentControlTemplateSelector/VisualBasic/Window1.xaml @@ -24,7 +24,9 @@ - + diff --git a/samples/snippets/visualbasic/VS_Snippets_Wpf/ContentControlTemplateSelector/VisualBasic/Window1.xaml.vb b/samples/snippets/visualbasic/VS_Snippets_Wpf/ContentControlTemplateSelector/VisualBasic/Window1.xaml.vb index 01590544c60f5..d64643cb64fea 100644 --- a/samples/snippets/visualbasic/VS_Snippets_Wpf/ContentControlTemplateSelector/VisualBasic/Window1.xaml.vb +++ b/samples/snippets/visualbasic/VS_Snippets_Wpf/ContentControlTemplateSelector/VisualBasic/Window1.xaml.vb @@ -29,36 +29,31 @@ End Class 'Window1 ' -Public Class NumderDataTemplateSelector +Public Class NumberDataTemplateSelector Inherits DataTemplateSelector + Public Property NumberTemplate As DataTemplate + Public Property LargeNumberTemplate As DataTemplate + Public Overrides Function SelectTemplate(ByVal item As Object, _ ByVal container As DependencyObject) As DataTemplate - Dim numberStr As String = item ' - - If Not (numberStr Is Nothing) Then - Dim num As Integer - Dim win As Window = Application.Current.MainWindow + ' Nothing can be passed by IDE designer + if (item Is Nothing) Then + Return Nothing + End If - Try - num = Convert.ToInt32(numberStr) - Catch - Return Nothing - End Try + Dim num = Convert.ToInt32(CStr(item)) - ' Select one of the DataTemplate objects, based on the - ' value of the selected item in the ComboBox. - If num < 5 Then - Return win.FindResource("numberTemplate") ' + ' Select one of the DataTemplate objects, based on the + ' value of the selected item in the ComboBox. + If num < 5 Then + Return NumberTemplate - Else - Return win.FindResource("largeNumberTemplate") ' - End If + Else + Return LargeNumberTemplate End If - Return Nothing - End Function 'SelectTemplate End Class 'NumderDataTemplateSelector '