如何在Silverlight中从.xaml加载控件



问题是关于将一些复杂的控件加载到Stack Panel中。我有几个类似的TreeListControls(来自devexpress),它们有自己的x:Name属性,我在。cs文件中使用。

我更喜欢将它们保存在单独的.xaml中,并在需要时加载。

如何加载它们?我还没有找到有效的解决办法。我找到的那个应用程序。LoadComponent不能正常工作…

现在我看到的唯一方法是玩"可见性"属性,但这是完全业余…

您可以为此目的使用XAML阅读器

为什么不直接创建UserControls呢?您可以从代码中实例化它们,并从内容控件或网格中添加或删除它们。

RootGrid.Children.Add(new WhateverControl());

或者你需要在运行时编辑xaml ?

应用程序。LoadComponent至少可以为我创建非UI对象

Application.LoadComponent(Root, new Uri("/SilverlightClient;component/NavigationTreeConfig.xaml", UriKind.Relative));

当我需要在代码中创建XAML时,我将XamlReader带一个字符串。但我还没有尝试过文件。

ContentTemplate = (DataTemplate) XamlReader.Load(
                "<DataTemplate xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'><TextBlock>TemplateSelectorError: " + errorMessage + "</TextBlock></DataTemplate>");

最新更新