WPF模板错误-“;在'上提供价值;System.Windows.Baml2006.TypeConverterMarkupExtension';抛出异常。”;

WPF模板错误-“;在'上提供价值;System.Windows.Baml2006.TypeConverterMarkupExtension';抛出异常。”;,wpf,templates,visual-studio-2010,binding,Wpf,Templates,Visual Studio 2010,Binding,我刚刚开始试验WPF模板和样式,我不确定我做错了什么。下面的目标是交替菜单中选项的颜色。该代码仅适用于,但当我为“MenuChoiceOdd”的第二段复制并粘贴/重命名它时,会出现以下错误: >在“System.Windows.Baml2006.TypeConverterMarkupExtension”上提供值时引发异常 代码示例: <Window x:Class="WpfApplication1.Template_Testing" xmlns="http://schema

我刚刚开始试验WPF模板和样式,我不确定我做错了什么。下面的目标是交替菜单中选项的颜色。该代码仅适用于,但当我为“MenuChoiceOdd”的第二段复制并粘贴/重命名它时,会出现以下错误:

>在“System.Windows.Baml2006.TypeConverterMarkupExtension”上提供值时引发异常

代码示例:

<Window x:Class="WpfApplication1.Template_Testing"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Template_Testing" Height="300" Width="300">
    <Grid>
        <Grid.Resources>
            <ControlTemplate x:Key="MenuChoiceEven">
                <Border BorderThickness="1" BorderBrush="#FF4A5D80">
                <TextBlock Height="Auto" HorizontalAlignment="Stretch" Margin="0"  Width="Auto" FontSize="14" Foreground="SlateGray" TextAlignment="Left" AllowDrop="True" Text="{Binding Path=Content, RelativeSource={RelativeSource TemplatedParent}}">
                    <TextBlock.Background>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                            <GradientStop Color="White" Offset="0" />
                            <GradientStop Color="#FFC2CCDB" Offset="1" />
                        </LinearGradientBrush>
                    </TextBlock.Background>
                </TextBlock>
                </Border>
            </ControlTemplate>
            <ControlTemplate x:Key="MenuChoiceOdd">
                <Border BorderThickness="1" BorderBrush="#FF4A5D80">
                    <TextBlock Height="Auto" HorizontalAlignment="Stretch" Margin="0"  Width="Auto" FontSize="14" Foreground="SlateGray" TextAlignment="Left" AllowDrop="True" Text="{Binding Path=Content, RelativeSource={RelativeSource TemplatedParent}}">
                    <TextBlock.Background>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                            <GradientStop Color="White" Offset="0" />
                            <GradientStop Color="##FFCBCBCB" Offset="1" />
                        </LinearGradientBrush>
                    </TextBlock.Background>
                    </TextBlock>
                </Border>
            </ControlTemplate>            
        </Grid.Resources>
        <Border BorderBrush="SlateGray" BorderThickness="2" Margin="10" CornerRadius="10" Background="LightSteelBlue" Width="200">
            <StackPanel Margin="4">
                <TextBlock Height="Auto" HorizontalAlignment="Stretch" Margin="2,2,2,0" Name="MenuHeaderTextBlock" Text="TextBlock" Width="Auto" FontSize="16" Foreground="PaleGoldenrod" TextAlignment="Left" Padding="10" FontWeight="Bold"><TextBlock.Background><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="LightSlateGray" Offset="0" /><GradientStop Color="DarkSlateGray" Offset="1" /></LinearGradientBrush></TextBlock.Background></TextBlock>
                <StackPanel Height="Auto" HorizontalAlignment="Stretch" Margin="2,0,2,0" Name="MenuChoicesStackPanel" VerticalAlignment="Top" Width="Auto">
                    <Button Template="{StaticResource MenuChoiceEven}" Content="Test Even menu element" />
                    <Button Template="{StaticResource MenuChoiceOdd}"  Content="Test odd menu element" />
                </StackPanel>
            </StackPanel>
        </Border>
    </Grid>
</Window>

我做错了什么?

哦,今天是星期一

当我从另一个控件复制粘贴颜色字符串时,它在前缀中放置了两个“##”s:

<GradientStop Color="##FFCBCBCB" Offset="1" />


仍然是一条糟糕的错误消息。

我也有同样的错误,原因是:

<Border Margin="5" BorderBrush="Black" BorderThickness="" Width="Auto"/>


通过在BorderThickness中添加一个数字进行修复在我的情况下,我更改了项目名称。在我犯了这个错误之后。我重新选择了图像,发现我也需要更改图像的资源名称

        <Image x:Name="imgSrc" Grid.Row="1" Source="/PREV%20-%20Filter;component/Images/Subtraktive%20Farbmischung%20%28Malen%20mit%20Wasserfarben%29.jpg" />


/上一个%20-%20过滤器;组件需要校正到/DSP%20-%20滤波器;组件。

在网格上分配Width=“*”给了我一个错误,第一次看起来很奇怪,但它想说的是标记无法转换为实际类型

与其他类似-这个可怕的错误消息只是意味着我的xaml中有语法错误:

<CheckBox Height="" IsChecked="{Binding IsChecked, Mode=TwoWay}"  Width="80">


请注意,我没有填写高度值。

当我忘记了花括号时,我有相同的值:

<DataTrigger Binding="{Binding Path=IsWhiteboardShared}" Value="True">
    <Setter Property="Background" Value="StaticResource AccentColorBlueBrush"/>
</DataTrigger>

我的任务是修复一个错误,在这个错误中,类似的错误信息会无限显示出来。当我发现问题是由以下原因引起的时,我有点失望(我期待着更复杂、更灾难性的事情发生!):



与其他人不同的是,我的XAML语法是正确的

<ImageBrush ImageSource="..\Images\previous_icon.png" />          

当我更改图像时,此错误开始出现-后来意识到我确实更改了文件夹中的图像,但忘记将其包含在我的项目中

因此,尽管XAML可以在“Desgn”视图中显示图像,但我在运行时遇到了这个异常。
愚蠢的一个

在边框笔刷中使用灰色而不是灰色时,我也有同样的错误

<Setter Property="BorderBrush" Value="Grey"/>

而不是

<Setter Property="BorderBrush" Value="Gray"/>

下面是这个错误的另一个例子,以及我是如何解决它的

这似乎是由于将我的项目从VS2010升级到VS2012和VS2013所致。我不确定为什么这会是一个问题,但我想是的

我开发了一个VisualStudio向导,以自动化将项目添加到我们的大型解决方案(300多个项目)的过程,因为我们的开发人员需要帮助维护项目。我在向导中使用了WPF,这在VS2010中非常有效。我将项目升级到VS2012和VS2013,开始出现此错误。结果证明,在某个点上,我的图标和图像文件的路径被搞砸了。一旦我纠正了它——我直接在XAML中纠正了它——我就不再得到错误


如果您可能需要参考资源的帮助-这是我用来纠正问题的帖子:

我也有同样的错误,但在参考资料文件夹中使用了错误的图像路径

我有这个

<controls:ImageButton Grid.Column="2" ImageButtonSource="Resources/close_normal.png"/>

但我需要这个

<controls:ImageButton Grid.Column="2" ImageButtonSource="../Resources/close_normal.png"/>


必须在开始时添加../首先返回一个文件夹

在使用此代码的“发件箱”时,我遇到了相同的错误:

                      <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <materialDesign:PackIcon Kind="OutBox" Width="25" Height="25" VerticalAlignment="Center" Margin="5" Foreground="DodgerBlue"/>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>


发件箱是未知值,因此更改为“StopCircle”,然后修复…

我的类似,但因为我使用了Button Command=“CommandName”而不是Command=“{Binding Path=CommandName}”。这里是WPF中的新手,它确实是一个可怕的错误消息如果异常包括行号,它会很方便。。。
                      <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <materialDesign:PackIcon Kind="OutBox" Width="25" Height="25" VerticalAlignment="Center" Margin="5" Foreground="DodgerBlue"/>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>