我正在尝试在数据模板中托管内容控件。
与此完全相似: Putting a ContentControl *inside* a WPF DataTemplate?
我通过XAML成功完成了这项工作。我想通过代码做同样的事情。
我创建了一个样式:
<Style x:Key="radioButtonAddtruefalse">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<StackPanel Orientation="Horizontal">
<RadioButton Content="True" IsChecked="{Binding Value}"></RadioButton>
<RadioButton Content="False" IsChecked="{Binding Value, Converter={StaticResource _invertedBooleanConverter}}"></RadioButton>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
并在数据模板中:
<DataTemplate>
<ContentControl Style="{StaticResource radioButtonAddtruefalse}"> /ContentControl>
</DataTemplate>
我尝试通过代码执行此操作,但在DataTemplate下找不到任何允许我托管内容控件的内容。有什么建议吗?
答案 0 :(得分:1)
刚从MSDN Forum复制,但这应该有效。虽然没有尝试过。
FrameworkElementFactory fef = new FrameworkElementFactory(typeof(TextBlock));
Binding placeBinding = new Binding();
fef.SetBinding(TextBlock.TextProperty, placeBinding);
placeBinding.Path = new PropertyPath("Name");
dataTemplate = new DataTemplate();
dataTemplate.VisualTree = fef;