Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net x:XAML样式属性中的静态导致“System.Windows.Markup”上的类型引用不明确_.net_Wpf_Xaml - Fatal编程技术网

.net x:XAML样式属性中的静态导致“System.Windows.Markup”上的类型引用不明确

.net x:XAML样式属性中的静态导致“System.Windows.Markup”上的类型引用不明确,.net,wpf,xaml,.net,Wpf,Xaml,在XAML表单中添加一个特殊的样式就这么简单,我去掉了所有不必要的标记 <Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="MainWin" Title="Main" Height="228" Width=

在XAML表单中添加一个特殊的样式就这么简单,我去掉了所有不必要的标记

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Name="MainWin" Title="Main" Height="228" Width="525" WindowStyle="None">
    <Grid>
        <Button x:Name="ButtonClose" Content="r" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" HorizontalAlignment="Left" Margin="491,10,0,0" VerticalAlignment="Top" Width="24" Click="ButtonClose_Click" IsCancel="True" BorderThickness="0" Background="#00DDDDDD" Foreground="#FFEEEEEE" FontFamily="Marlett" FontSize="16" ToolTip="Close (Esc)"/>
    </Grid>
</Window>
正在抛出非阻塞错误:

不明确的类型引用。名为“StaticExtension”的类型至少出现在两个名称空间“System.Windows.Markup”和“System.Windows.Markup”中

问题出在属性Style={StaticResource{x:Static ToolBar.ButtonStyleKey}中。如果删除该属性,则错误消失。问题也没有了,我将项目切换到.NET4

我知道存在名称空间冲突,如中所示。但是如何修改XAML来防止这种情况呢

所有导致错误的代码都是由designer中的工作创建的,而不是手工创建的。 .NET3.5很重要 VS 2012更新4 我并没有像我在一些SO答案中发现的那样使用ReSharper,它已经知道这方面的缺陷 类似的东西,但VS 2012更新2 复制步骤:创建新项目•在向导中选择.NET 3.5,然后WPF应用程序•设计器打开•粘贴XAML•全部重建•显示错误
最后,我的结论是,这是配置中出现的一个特定问题 VisualStudio 2012+.NET 3.5+WPF

这不是阻塞问题,所以我可以接受

__


如果有更好的asnwer,请随意发布,我会将其标记为已接受的答案,而不是此答案。

上述代码不会重现上述错误。@pushpraj-对我来说确实如此。我在问题的底部添加了复制步骤。我现在已经成功地测试了它们。您在哪个VS和.NET版本中尝试过这个功能?我将VS2013与.NET 4.5一起使用,也许这就是原因。如果我能在某处找到VS2012,让我试试。@pushpraj-首先,只需在.NET 3.5中启动项目即可。它可以在向导中选择,也许您也会在VS2013中看到问题,而不是在VS2013中重复出现。