项目构建目标:Windows 10 Fall Creators Update (introduced v10.0.16299.0)
。
我正在动态添加TextBlock-s:
TextBlock headName = new TextBlock();
headName.Text = h3.OuterHtml;
headName.IsTextSelectionEnabled = true;
headName.Style = (Style)Application.Current.Resources["TitleTextBlockStyle"];
GridView.Children.Add(headName);
//...
foreach (HtmlNode p in ps)
{
TextBlock pTag = new TextBlock();
pTag.Text = p.InnerText;
pTag.IsTextSelectionEnabled = true;
pTag.FontSize = 16;
pTag.TextWrapping = TextWrapping.Wrap;
GridView.Children.Add(pTag);
}
进入xaml Grid
:
<Grid x:Name="GridView"
Loaded="GridView_Loaded"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
</Grid>
答案 0 :(得分:2)
这是<Grid>
注意:您的Grid
不是GridView
,如此处所述:https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Controls.GridView
如果您使用StackPanel
项目获取stacked
......那么......就是另一种形式。
例如:
<StackPanel x:Name="Stack"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
</StackPanel>
使用代码:
foreach (HtmlNode p in ps)
{
//...
Stack.Children.Add(pTag);
}
话虽如此,我建议你看一下绑定,MVVM和xaml。
您的问题可以通过更优雅的方式解决。
您也可以使用Templates
,使用它们可以让您的UI完全基于XAML,而无需在代码中添加子代。
请参阅: https://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/control-templates
有条件的信息: