c# - 以编程方式在 Frame 中插入 XAML
问题描述
所以我希望使用 C# 将 XAML 代码插入到 XAMLFrame
中,但我不确定如何去做这件事?我将提供一个示例来说明我正在努力实现的目标。
XAML 示例:
<Frame x:Name="INPUT"/>
C# 示例:
var lines = File.ReadLines("example.txt");
foreach(var line in lines)
{
string content = line
INPUT.Content = //XAML TEMPLATE
}
因此,对于每一行,我希望根据所使用的行插入一个包含唯一值的模板,因此如果行等于 3,则将 3 个 XAML 模板插入到Frame
.
模板的基本示例:
<Label Content=content />
预期的输出将是Frame
有 3 个
<Label Content=content />
基本上产生 3 个标签,其中包含来自当前行的字符串。
解决方案
将 ItemsControl 与适当的 一起使用ItemTemplate
,其中包含标签,或者更好的是 TextBlock:
<ItemsControl x:Name="itemsControl">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
将 IEnumerable 分配给其ItemsSource
属性:
itemsControl.ItemsSource = File.ReadLines("example.txt");
推荐阅读
- r - R中的语法问题
- javascript - 如何在 TypeScript/Angular 中测试类型?
- azure-devops - yaml 发布管道的触发器
- java - 0 在 Hikari CP 中连接重置后的活动连接
- python - Python holtwinter: ValueError: Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
- python - TPOT 是否支持多标签文本分类?
- c# - DataGrid内的矩形,绑定矩形的宽度值
- python - PyInstaller --noconsole 在运行应用程序后仍然显示控制台
- crosstab - 如何在 Access 中筛选交叉表查询?
- google-cloud-run - Cloud Run:自定义域的真实体验和延迟问题