通过XamlReader加载Xaml仅用于预览
只是在运行时加载Xaml文件时遇到了一些问题。 请参阅我的代码片段以作为Usercontrol的内容加载文件:通过XamlReader加载Xaml仅用于预览,xaml,root,xmlreader,xamlparseexception,xamlreader,Xaml,Root,Xmlreader,Xamlparseexception,Xamlreader,只是在运行时加载Xaml文件时遇到了一些问题。 请参阅我的代码片段以作为Usercontrol的内容加载文件: public UserControl LoadXaml(FileInfo paramFile) { FileInfo _XamlFile = paramFile; UIElement rootElement; FileStream s = new FileStream(_XamlFile.FullName, Fil
public UserControl LoadXaml(FileInfo paramFile)
{
FileInfo _XamlFile = paramFile;
UIElement rootElement;
FileStream s = new FileStream(_XamlFile.FullName, FileMode.Open);
rootElement = (UIElement)XamlReader.Load(s);
s.Close();
UserControl uc = new UserControl();
if (rootElement.GetType() == typeof(Window))
{
uc.Content = (rootElement as Window).Content;
}
else
{
uc = rootElement as UserControl;
}
return uc;
}
private void lstPDFDokumente_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var _XamlFile = ((System.Windows.Controls.ListBox)sender).SelectedItem as FileInfo;
if (_XamlFile != null)
{
layoutGrid.Children.Clear();
System.Windows.Controls.UserControl rootElement;
rootElement = XamlController.LoadXaml(_XamlFile);
layoutGrid.Children.Add(rootElement);
}
}
当手动删除事件和x:Class=“…”
时,此功能可以正常工作
我试图解决的问题是:
x:Class=“…”
,XamlReader将抛出第一个异常单击
或文本更改
,它会引发另一个异常名称
,高度
,宽度
等等。
只是读了几十个网站,但从来没有找到一个主题,使预览或诸如此类的事情
我尝试的解决方案之一是将Xaml文件读取为XML并删除该代码。
问题是在C#中获取所有可能事件的列表
如果对该代码有一些问题,请随时提问:)
问候
丹尼尔