<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/