2015-12-17 191 views
1
XmlReader tXml = XmlReader.Create(new StringReader("certain xaml code which has the desired layout...")); 
UIElement MyElement = (UIElement) XamlReader.Load(tXml.ToString()); 

我需要在hubsection中動態添加在運行時創建的MyElement。我怎麼能做到這一點?動態添加內容到hubsection xaml

謝謝!

回答

0

您可以將您的字符串的XAML一個DataTemplate標籤之間:

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

如果需要的話,不要忘記申報默認命名空間等。

接下來,你只需要設置你的ContentTemplate屬性HubSection:

Section1.ContentTemplate = template as DataTemplate; 

假設集線器聲明如下:

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