C# WPF窗口字典中不存在给定的键
我现在正在寻找一段时间来解决这个问题,但到目前为止,一切都不管用: 我有一个C控制台应用程序,从中我在使用设计器设计的新窗口中打开了一个应用程序。我创建了一个新的解决方案,并在新的解决方案中复制了窗口,现在设计器抛出了上面的异常。该程序本身运行良好,但设计者干脆拒绝工作 使用的代码是:C# WPF窗口字典中不存在给定的键,c#,wpf,xaml,C#,Wpf,Xaml,我现在正在寻找一段时间来解决这个问题,但到目前为止,一切都不管用: 我有一个C控制台应用程序,从中我在使用设计器设计的新窗口中打开了一个应用程序。我创建了一个新的解决方案,并在新的解决方案中复制了窗口,现在设计器抛出了上面的异常。该程序本身运行良好,但设计者干脆拒绝工作 使用的代码是: <Window ...Some Description...> <DockPanel>...Content...>/DockPanel> </Window>
<Window ...Some Description...>
<DockPanel>...Content...>/DockPanel>
</Window>
在设计器窗口中,它显示以下文本:
引发了一个异常。
XamlParseException:字典中不存在给定的键
堆栈跟踪:
在System.Windows.Markup.WpfXamlLoader.LoadXamlReader xamlReader上,
IXamlObjectWriterFactory writerFactory,布尔型
skipJournaledProperties、Object rootObject、XamlObjectWriterSettings
设置,Uri baseUri
位于System.Windows.Markup.WpfXamlLoader.LoadBamlXamlReader
xamlReader、布尔skipJournaledProperties、对象rootObject、,
XamlAccessLevel访问级别,Uri baseUri
在System.Windows.Markup.XamlReader.LoadBamlStream流中,
ParserContext ParserContext,对象父对象,布尔closeStream
位于System.Windows.Application.LoadBamlStreamWithSyncInfoStream
流,ParserContext pc
在System.Windows.Application.LoadComponentUri resourceLocator上,
布尔bSkipJournaledProperties
位于System.Windows.Application.LoadComponentUri resourceLocator
异常位置位于XAML中的Window关键字处
若我在XAML中创建了一个新的UserControl,它运行良好,那个么只有窗口似乎不起作用
有人知道如何解决这个问题吗
以下是整个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。我删除了。。。将窗口中的x:Class属性更改为项目中类的完整名称空间+名称。 很好用!
问题出在别的地方。可能在网格中缺少的代码中。您可以发布整个窗口xaml吗?嗯,窗口不是键。异常可能意味着Window标记中给定的一个属性出错。这就是为什么我们需要完整的XAML,至少对于窗口标记是这样。如果你复制了你的代码,可能还有一些对旧名称空间的引用?我已经仔细检查了引用列表是否与旧项目中的相同,它们完全匹配。感谢你的调查。我在另一台计算机上打开了这个项目。在那里,它工作得非常好,没有任何变化。奇怪的