Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使文件流显示在Stackpanel中?_C#_Wpf_Xaml - Fatal编程技术网

C# 如何使文件流显示在Stackpanel中?

C# 如何使文件流显示在Stackpanel中?,c#,wpf,xaml,C#,Wpf,Xaml,我已经能够将XAML保存到一个文件中,然后在另一个窗口上重新打开XAML。我现在添加了一个Stackpanel,用于将文件流放入,但我的代码中似乎出现了一个错误 private void Button_Click_1(object sender, RoutedEventArgs e) { FileStream fs = File.Open(@"C:\Users\Ben Clarke\Desktop\file.txt", FileMode.Open); XamlReader.Lo

我已经能够将XAML保存到一个文件中,然后在另一个窗口上重新打开XAML。我现在添加了一个Stackpanel,用于将文件流放入,但我的代码中似乎出现了一个错误

private void Button_Click_1(object sender, RoutedEventArgs e)
{

    FileStream fs = File.Open(@"C:\Users\Ben Clarke\Desktop\file.txt", FileMode.Open);
    XamlReader.Load(fs);
    StackPanel panel = new StackPanel();
    panel.Children.Add(fs);

}
面板.Children.Add(fs)似乎出现了一个错误,提示:

The best overloaded method match for 'System.Windows.Controls.UIElementCollection.Add(System.Windows.UIElement)' has some invalid arguments
Argument 1: cannot convert from 'System.IO.FileStream' to 'System.Windows.UIElement'
也将此信息告知:

The best overloaded method match for 'System.Windows.Controls.UIElementCollection.Add(System.Windows.UIElement)' has some invalid arguments
Argument 1: cannot convert from 'System.IO.FileStream' to 'System.Windows.UIElement'
有人能帮我解决这个问题吗。

using (var fs = File.Open(@"C:\Users\Ben Clarke\Desktop\file.txt", FileMode.Open))
{
    StackPanel panel = new StackPanel();
    panel.Children.Add((UIElement)XamlReader.Load(fs));
}

当然,如果XAML不包含
UIElement
作为其根,则在运行时会抛出
InvalidCastException

感谢您的回答,我删除了Stackpanel的实例化,并在窗口中将Panel更改为我的stackpanal的名称,它显示了。