zoukankan      html  css  js  c++  java
  • WPF XamlObjectWriterException:无法创建未知类型"Grid"

      using (FileStream fs = new FileStream("UnitFile/Report2.xaml", FileMode.Open))
                {
                    rootElement = (FrameworkElement)XamlReader.Load(fs);
                }

    在用XamlReader.Load时,报错。

    Report2.xaml文件的内容如下:

    <Grid >
            <Grid.RowDefinitions>
                <RowDefinition Height="auto" />
                <RowDefinition Height="25" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions> 
            <Border Style="{DynamicResource BorderEditStyle}">
                <WrapPanel Style="{StaticResource WrapPanelEditStyle}">
                    <StackPanel Style="{StaticResource StackPanelEditStyle}">
                        <Label Style="{StaticResource LableEditStyle}" Content="名称"/>
                        <TextBox Style="{StaticResource TextEditStyle}"/>
                    </StackPanel>
                    <StackPanel Style="{StaticResource StackPanelEditStyle}">
                        <Label Style="{StaticResource LableEditStyle}" Content="型号"/>
                        <TextBox Style="{StaticResource TextEditStyle}"/>
                    </StackPanel>
                    <StackPanel Style="{StaticResource StackPanelEditStyle}">
                        <Label Style="{StaticResource LableEditStyle}" Content="制单人"/>
                        <TextBox Style="{StaticResource TextEditStyle}"/>
                    </StackPanel>
                    <StackPanel Style="{StaticResource StackPanelEditStyle}">
                        <Label Style="{StaticResource LableEditStyle}" Content="制单日期"/>
                        <DatePicker  Style="{StaticResource DateEditStyle}"/>
                    </StackPanel>
    
                    <StackPanel Style="{StaticResource StackPanelEditStyle}">
                        <Label Style="{StaticResource LableEditStyle}" Content="计划数量"/>
                        <TextBox Style="{StaticResource TextEditStyle}"/>
                    </StackPanel>
                    <StackPanel Style="{StaticResource StackPanelEditStyle}">
                        <Label Style="{StaticResource LableEditStyle}" Content="合格数量"/>
                        <TextBox Style="{StaticResource TextEditStyle}"/>
                    </StackPanel>
                    <StackPanel Style="{StaticResource StackPanelEditStyle}">
                        <Label Style="{StaticResource LableEditStyle}" Content="报废数量"/>
                        <TextBox Style="{StaticResource TextEditStyle}"/>
                    </StackPanel>
                    <StackPanel Style="{StaticResource StackPanelEditStyle}">
                        <Label Style="{StaticResource LableEditStyle}" Content="返修数量111"/>
                        <DatePicker  Style="{StaticResource DateEditStyle}"/>
                    </StackPanel>
                </WrapPanel>
            </Border>
           <Button Height="25" Width="50" Grid.Row="1"  Content="test" Command="{Binding AddCommand}"/>
            <DataGrid Grid.Row="2" ItemsSource="{Binding list}" AutoGenerateColumns="False"  
                        >
               
                <DataGrid.Columns>
                    <DataGridCheckBoxColumn Header="选择"  
                                            Binding="{Binding FIsChecked}"/>
                    <DataGridTextColumn Header="名称" Binding="{Binding FName}"/>
                    
                    <DataGridTextColumn Header="出生年月" Binding="{Binding FBirth}"/>
                    <DataGridTextColumn Header="家庭住址" Binding="{Binding FAddress}"/>
                </DataGrid.Columns>
            </DataGrid>
        </Grid>
    View Code

    查了下资料说需要添加一些引用。

    我也不知道需要添加哪几个引用。于是我就用如下代码将上面的界面导出来

    using (FileStream fs = new FileStream(
                System.IO.Path.Combine(Environment.CurrentDirectory, "saved.xaml"),
                FileMode.Create, FileAccess.Write))
                            {
                                XamlWriter.Save(mainCanvas, fs);//mainCanvas为你的grid的Name
                                fs.Close();
                            }

    导出的结果如下

    于是我就将这几个引用添加到Report2.xaml中。再通过XamlReader.Load()方法就可以成功加载了。

  • 相关阅读:
    hdu 4033Regular Polygon(二分+余弦定理)
    hdu 4405Aeroplane chess(概率DP)
    hdu 3853LOOPS (概率DP)
    网络编程基础(转)
    网络编程socket基本API详解(转)
    网络编程之socket(转)
    cf(#div1 B. Dreamoon and Sets)(数论)
    cf(#div1 A. Dreamoon and Sums)(数论)
    hdu 1805Expressions(二叉树构造的后缀表达式)
    hdu1710(Binary Tree Traversals)(二叉树遍历)
  • 原文地址:https://www.cnblogs.com/czly/p/10121900.html
Copyright © 2011-2022 走看看