动态控件的TemplateBinding

时间:2010-09-17 21:38:01

标签: binding

我在运行时创建了一个模板化的RadioButton。在初始化模板化的RadioButton之后,我设置DataContext和Tag属性,然后在StackPanel中添加此按钮。问题是模板绑定不起作用。下面是XAML和背后的代码。如果我在XAML中为这些属性赋值,则所有这些都有效。有什么想法吗?

代码: TemplatedRadioButton commandButton = new TemplatedRadioButton(); commandButton.DataContext =“bla”; //我会的一些文本。 commandButton.Tag = MyImage; //这是我在运行时创建的ImageIcon。 MyStackPanel.Children.Add(的commandButton);

XAML:                                                                                    

1 个答案:

答案 0 :(得分:0)

抱歉: 码: TemplatedRadioButton commandButton = new TemplatedRadioButton(); commandButton.DataContext =“bla”; //我会的一些文本。 commandButton.Tag = MyImage; //这是我在运行时创建的ImageIcon。 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>