有没有办法只用 C# 构建 DataTemplate

有没有一种方法可以在不使用已弃用 FrameworkElementFactory或XamlReader.Load字符串解释代码(相关问题)或(另一个相关)的情况下构建 DataTemplate ?


DataTemplate dt = new DataTemplate();

StackPanel sp = new StackPanel();

ComboBox cellComboBox = new ComboBox() { Visibility = Visibility.Collapsed };

CheckBox cellCheckBox = new CheckBox() { Visibility = Visibility.Collapsed };


sp.Children.Add(cellComboBox);

sp.Children.Add(cellCheckBox);


// then add the stackpanel somehow?

更新:为什么? 这是针对可能需要多年支持的新程序。XamlReader 字符串在运行时解析具有构造函数、方法、属性的东西......感觉很笨拙。在FrameworkElementFactory已弃用了几个版本,但从来没有一个真正的替代品。


扬帆大鱼
浏览 140回答 2
2回答

慕码人2483693

有没有办法只用 C# 构建 DataTemplate是的,您可以使用FrameworkElementFactory或XamlReader.Load方法以DataTemplate编程方式创建一个。...不使用已弃用的FrameworkElementFactory或XamlReader.Load方法?简短的回答:没有。当已经有两个方法时,为什么还需要另一种方法?另请注意,FrameworkElementFactory如果您不想使用字符串,则使用该类完全没问题。尽管 MSDN 上的文档是这样说的,但这种类型在 .NET Framework 4.7.2 中并未真正标记为过时或弃用。
打开App,查看更多内容
随时随地看视频慕课网APP