在wpf应用程序中添加功能区控件时,出现此异常。有人可以给我一些建议如何克服它吗?在我的xaml代码中,功能区被添加到最后一个选项卡中,如下面的代码所示。一切正常,添加功能区后问题开始出现。

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:v="clr-namespace:Views;assembly=DemoDataGrid"
Title="Testing GUI app" Width="1200" Height="768">
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Menu Margin="0" Grid.Row="0" VerticalAlignment="Top" Background="#FFEAF1FB">
        <MenuItem Header="File" IsTabStop="False">
            <MenuItem Header="Exit" Command="{Binding FileExit}" />
        </MenuItem>
        <MenuItem Header="Tools" IsTabStop="False"/>
        <MenuItem Header="Help" IsTabStop="False"/>
    </Menu>
    <ToolBarTray Grid.Row="1" Background="DarkGray"/>
    <UserControl Grid.Row="2" IsTabStop="False">
        <TabControl Margin="10,50,10,10">
            <TabItem Header="Date Picker">
                <Grid Background="#FFE5E5E5">
                    <v:DatePickerView/>
                </Grid>
            </TabItem>
            <TabItem Header="Color Picker">
                <Grid Background="#FFE5E5E5">
                    <v:ColorPickerView/>
                </Grid>
            </TabItem>
            <TabItem Header="Combo Box">
                <Grid Background="#FFE5E5E5">
                    <v:ComboBoxView/>
                </Grid>
            </TabItem>
            <TabItem Header="ExtendedDataGrid">
                <Grid Background="#FFE5E5E5">
                    <v:DGridXtendedView/>
                </Grid>
            </TabItem>
            <TabItem Header="RibbonMenu">
                <Grid Background="#FFE5E5E5">
                    <Ribbon/>
                </Grid>
            </TabItem>
        </TabControl>
    </UserControl>
    <StatusBar Grid.Row="3" VerticalAlignment="Bottom"  Background="#FFEAF1FB">
        <StatusBarItem Content="{Binding User}"/>
        <Separator />
        <StatusBarItem Content="{Binding Status}"/>
    </StatusBar>
</Grid>

最佳答案

1。
添加对System.Windows.Controls.Ribbon的引用

2。
将名称空间添加到您的XAML文件

xmlns:ribbon="clr-namespace:System.Windows.Controls.Ribbon;assembly=System.Windows.Controls.Ribbon"

关于c# - XamlObjectWriterException:无法创建未知类型'{http://schemas.microsoft.com/winfx/2006/xaml/presentation}Ribbon',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49194792/

10-10 13:18