<DataTemplate>
    <TextBlock x:Name="Txt" Text="{Binding fieldA}" />
</DataTemplate>

我想以编程方式执行上述 XAML 的等效操作(XAML 有更多内容,我只显示了相关部分)。到目前为止,我有:
DataTemplate newDataTemplate = new DataTemplate();
TextBlock newTextBlock = new TextBlock();
newTextBlock.SetBinding(TextBlock.TextProperty, new Binding("fieldA"));
newTextBlock.Name = "txt";

那么我现在如何将 TextBlock 添加到 DataTemplate .. 即我想做类似的事情:
newDataTemplate.children.Add(TextBlock)

最佳答案

var newTextBlock = new FrameworkElementFactory(typeof(TextBlock));
newTextBlock.Name = "txt";
newTextBlock.SetBinding(TextBlock.TextProperty, new Binding("fieldA"));
DataTemplate newDataTemplate = new DataTemplate(){VisualTree = newTextBlock};

我觉得你应该看看这个问题。

How do I create a datatemplate with content programmatically?

关于c# - 以编程方式将 TextBlock 添加到 DataTemplate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10370187/

10-12 22:04