XmlReader tXml = XmlReader.Create(new StringReader("certain xaml code which has the desired layout..."));
UIElement MyElement = (UIElement) XamlReader.Load(tXml.ToString());
我需要在hubsection中动态添加在运行时创建的MyElement
。我怎么能实现呢?
谢谢!
答案 0 :(得分:0)
您可以在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声明为:
<Hub>
<HubSection x:Name="Section1" />
</Hub>