动态添加内容到 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>
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>