我将 W3CErrorOrWarning 类型对象的集合绑定到WPF窗口中的控件。
其中一个属性名为“Type”。它的类型为 W3CErrorOrWarningType ,这是一个简单的枚举:
Enum W3CErrorOrWarningType ValidationError ValidationWarning End Enum
我正试图以这种方式使用它......
<Window ...
xmlns:enums="clr-namespace:WpfApplication1.XhtmlTextBox.W3CValidator.W3CResponse.W3CErrorOrWarning"
... />
...
<DataTemplate>
<Image Name="TypeIcon" ... />
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Type}">
<DataTrigger.Value>
<enums:W3CErrorOrWarningType>
ValidationError
</enums:W3CErrorOrWarningType>
</DataTrigger.Value>
<Setter TargetName="TypeIcon"
Property="Source"
Value="images/Error.png"/>
</DataTrigger>
<DataTrigger Binding="{Binding Type}">
<DataTrigger.Value>
<enums:W3CErrorOrWarningType>
ValidationWarning
</enums:W3CErrorOrWarningType>
</DataTrigger.Value>
<Setter TargetName="TypeIcon"
Property="Source"
Value="images/Warning.png"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
我收到此错误:
未定义的CLR命名空间。该 'clr-namespace'URI是指a 命名空间 'WpfApplication1.XhtmlTextBox.W3CValidator.W3CResponse.W3CErrorOrWarning' 这不包括在装配中。
我的 WpfApplication1 项目包含用户控件 XhtmlTextBox 。该用户控件包含一个名为 W3CValidator 的类,其中包含一个名为 W3CResponse 的类,其中包含一个名为 W3CErrorOrWarning 的类,其中包含一个名为 W3CErrorOrWarningType的枚举
如何在Window的XAML中输入此类型的命名空间?
答案 0 :(得分:1)
您是否在命名空间中包含枚举名称?
我应该:
xmlns:enums="clr-namespace:WpfApplication1.XhtmlTextBox.W3CValidator.W3CResponse
考虑到以上都是名称空间而不是类型,如果W3CResponse是一个类型,那么你不能直接在XAML中使用嵌套枚举,XAML不支持嵌套类。
Requirements for a Custom Class as a XAML Element
您的自定义类不能是嵌套的 类