Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@
</Grid>
</DataTemplate>

<local:NumderDataTemplateSelector x:Key="numberTemplateSelector"/>
<local:NumberDataTemplateSelector x:Key="numberTemplateSelector"
NumberTemplate="{StaticResource numberTemplate}"
LargeNumberTemplate="{StaticResource largeNumberTemplate}"/>

</Window.Resources>
<StackPanel>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,42 +30,29 @@ public Window1()
}

//<Snippet2>
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;
}

}
//</Snippet2>
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@
</Grid>
</DataTemplate>

<local:NumderDataTemplateSelector x:Key="numberTemplateSelector"/>
<local:NumberDataTemplateSelector x:Key="numberTemplateSelector"
NumberTemplate="{StaticResource numberTemplate}"
LargeNumberTemplate="{StaticResource largeNumberTemplate}"/>

</Window.Resources>
<StackPanel>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,36 +29,31 @@ End Class 'Window1


'<Snippet2>
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
'</Snippet2>