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
'