如何在Stackpanel中显示文件流?

时间:2014-01-09 09:13:19

标签: 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.Load(fs);
    StackPanel panel = new StackPanel();
    panel.Children.Add(fs);

}

panel.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'

请在这种情况下帮助我。

1 个答案:

答案 0 :(得分:2)

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的根目录不包含InvalidCastException,则会在运行时抛出UIElement