- How to inject a view using datatemplate selector?
- public class BinaryProblem<T> {
- public T Number1 { get; set; }
- public T Number2 { get; set; }
- }
- public class Fraction {
- public int Numerator {get;set;}
- public int Denominator {get;set;}
- }
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <..Something.. Text="{Binding Number1}" Grid.Column="0" />
- <TextBlock Grid.Column="1" Text="+" />
- <..Something.. Text="{Binding Number2}" Grid.Column="2" />
- </Grid>
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <TextBlock Grid.Row="0" Text="{Binding Numerator}" />
- <Rectangle Grid.Row="1" Fill="Black" Height="5" />
- <TextBlock Grid.Row="2" Text="{Binding Denominator}" />
- </Grid>
- <DataTemplate DataType="{x:Type local:Fraction}" >
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <TextBlock Grid.Row="0" Text="{Binding Numerator}" />
- <Rectangle Grid.Row="1" Fill="Black" Height="5" />
- <TextBlock Grid.Row="2" Text="{Binding Denominator}" />
- </Grid>
- </DataTemplate>
- <DataTemplate xmlns:sys="clr-namespace:System;assembly=mscorlib"
- DataType="{x:Type sys:Int32}" >
- <TextBlock Background="Green" Text="{Binding}" />
- </DataTemplate>
- <ContentPresenter Grid.Column="0" Content="{Binding Number1}">