动态添加内容到 hubsection xaml

dynamically add content to hubsection xaml

XmlReader tXml = XmlReader.Create(new StringReader("certain xaml code which has the desired layout..."));
UIElement MyElement = (UIElement) XamlReader.Load(tXml.ToString());

我需要动态添加一个 MyElement 在运行时创建的集线器部分。我怎样才能做到这一点?

谢谢!

您可以在 DataTemplate 标记之间插入 xaml 字符串:

var myXaml = "<TextBlock>test</TextBlock>";
var template = XamlReader.Load("<DataTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">" + myXaml + "</DataTemplate>");

如果需要,请不要忘记声明默认名称空间和其他名称空间。

接下来,您只需设置 HubSection 的 ContentTemplate 属性:

Section1.ContentTemplate = template as DataTemplate;

假设您的集线器声明如下:

<Hub>
    <HubSection x:Name="Section1" />
</Hub>