2010-09-17 5 views
0

Je crée un modèle RadioButton au moment de l'exécution. Après avoir initialisé le modèle RadioButton, je définis la propriété DataContext et Tag, puis j'ajoute ce bouton dans un StackPanel. Le problème est que la liaison de modèle ne fonctionne pas. ci-dessous est le code XAML et le code derrière. Tout cela fonctionne si j'attribue des valeurs à ces propriétés dans XAML. Des idées?TemplateBinding for Dynamic Controls

Code: TemplatedRadioButton commandButton = new TemplatedRadioButton(); commandButton.DataContext = "bla"; // Quelques txt que je vais faire. commandButton.Tag = MyImage; // C'est l'ImageIcon que je crée aussi à l'exécution. MyStackPanel.Children.Add (commandButton);

XAML:

Répondre

0

Désolé: code: TemplatedRadioButton commandButton = new TemplatedRadioButton(); commandButton.DataContext = "bla"; // Quelques txt que je vais faire. commandButton.Tag = MyImage; // C'est l'ImageIcon que je crée aussi à l'exécution. MyStackPanel.Children.Add (commandButton);

XAML:

<Grid Margin="0 8 0 1"> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="4*"/> 
    <RowDefinition Name="textheight" Height="2*"/> 
    </Grid.RowDefinitions> 
<ContentPresenter x:Name="Content" ContentSource="Tag" Margin=" 4 4 6 6" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> 

    <TextBlock Name="caption" Text="{TemplateBinding DataContext}" FontSize="11" FontFamily="/Fonts/#Lucida Grande" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Bottom" Foreground="#FF313131" Margin="0 2 0 6"/> 
</Grid> 
</Border>