2011-03-25 60 views
0

我目前在我正在使用的Silverlight项目中使用ExpressionDark主题。我遇到了一个问题,当我调试时会引发异常。在Silverlight中使用ExpressionDark时XamlParseException

A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in System.Windows.dll 

Additional information: Invalid attribute value dataForm:DataForm for property TargetType. [Line: 1 Position: 233] 

这并不影响任何东西,因为它仍然正常工作,它只是令人讨厌。这是一个代码示例。

<UserControl x:Class="MyProject.Controls.Test" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:expressionDark="clr-namespace:System.Windows.Controls.Theming;assembly=System.Windows.Controls.Theming.ExpressionDark" 
    mc:Ignorable="d" 
    d:DesignHeight="300" d:DesignWidth="400"> 
    <expressionDark:ExpressionDarkTheme ApplyMode="Auto" Background="#00000000"> 
     <Grid x:Name="LayoutRoot" Background="#00000000"> 
     </Grid> 
    </expressionDark:ExpressionDarkTheme> 
</UserControl> 

如果我注释掉expressionDark线异常消失。任何想法如何修复异常或以某种方式忽略它?

回答

1

消耗组件中的DataForm尚未添加所需的参考。

添加对System.Windows.Controls.Data.DataForm程序集的引用。如果您需要明确使用UserControl中的DataForm,则可以定义一个名称空间。

xmlns:dataControls="clr-namespace:System.Windows.Controls; 
assembly=System.Windows.Controls.Data.DataForm" 
+0

感谢您指点我这个方向。我不必为异常添加名称空间即可消失。我应该包括这个吗?我刚刚添加了一个引用System.Windows.Controls.Data.DataForm.Toolkit并修复它。 – thecaptain0220 2011-03-25 15:22:53

+0

@ thecaptain0220否;你不需要添加命名空间;除非你明确地在UserControl中使用它。 – 2011-03-25 15:59:16

相关问题