WPF窗口字典中不存在给定的关键字



我现在正在寻找一个相当长的时间来解决这个问题,但直到现在都没有成功:

我有一个C#控制台应用程序,从中我可以在一个新窗口中打开一个应用程序,该窗口是我使用设计器设计的。我制作了一个新的解决方案,并复制了新解决方案中的窗口,现在设计者抛出了上面的异常。程序本身运行良好,但设计者只是拒绝工作。

使用的代码是:

<Window ...Some Description...>
<DockPanel>...Content...>/DockPanel>
</Window>

在设计器的"窗口"中显示以下文本:

引发了异常。XamlParseException:字典中不存在给定的键。

StackTrace:

  • 在System.Windows.Markup.WpfXamlLoader.Load(XamlReader-XamlReader,IXamlObjectWriterFactory writerFactory,布尔skipJournaledProperties,对象rootObject,XamlObjectWriterSettings设置,基于Uri的Uri)

  • 位于System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReaderxamlReader,布尔skipJournaledProperties,Object rootObject,XamlAccessLevel accessLevel,基于Uri的Uri)

  • 在System.Windows.Markup.XamlReader.LoadBaml(流,ParserContext ParserContext,对象父级,布尔关闭流)

  • 位于System.Windows.Application.LoadBamlStreamWithSyncInfo(流流,ParserContext pc)

  • 位于System.Windows.Application.LoadComponent(Uri-resourceLocator,布尔值bSkipJournaledProperties)

  • 位于System.Windows.Application.LoadComponent(Uri资源定位器)

异常位置位于XAML中的"Window"关键字处。

如果我在XAML中创建一个工作正常的新UserControl,那么只有Window似乎不工作。

有人知道怎么解决这个问题吗?

这是整个Xaml:

<Window x:Class="Interface_002.ControlWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="600" Width="1000" Title="Steering Wheel Control Window" Loaded="Window_Loaded" Closed="Window_Closed">
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File">
<MenuItem x:Name="miSaveConfig" Header="_Save Config" Click="miSaveConfig_Click"/>
<MenuItem x:Name="miLoadConfig" Header="_Load Config" Click="miLoadConfig_Click"/>
<Separator/>
<MenuItem x:Name="Exit" Header="_Exit" Click="Exit_Click" />
</MenuItem>
<MenuItem Header="Help">
<MenuItem x:Name="miAbout" Header="About" Click="miAbout_Click"/>
</MenuItem>
</Menu>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="250"/>
<RowDefinition Height="250"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="500"/>
<ColumnDefinition Width="500"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="0" Grid.Column="0" BorderThickness="1" BorderBrush="Black">
<Grid>
...Content.. 
</Grid>
</Border>
<Border Grid.Row="1" Grid.Column="0"  BorderThickness="1" BorderBrush="Black">
<Grid>
...Content.. 
</Grid>
</Border>
<Border Grid.Row="0" Grid.Column="1"  BorderThickness="1" BorderBrush="Black">
<Grid>
...Content.. 
</Grid>
</Border>
<Border Grid.Row="1" Grid.Column="1"  BorderThickness="1" BorderBrush="Black">
<Grid>
...Content..     
</Grid>
</Border>
</Grid>
</DockPanel>
</Window>

编辑:

这个问题在某种程度上已经解决了。。。我不知道到底是什么问题。但在将解决方案加载到另一个CP上后,当我在原始机器上重新打开它时,它又工作了。。。

我在一个新创建的WPF应用程序中复制了您的整个XAML。我从网格中删除了"…",并将Window中的x:Class属性更改为项目中类的完整名称空间+名称。它工作得很好!问题出在别的地方。也许在网格中丢失的代码中。

最新更新