2009-03-10 6 views
1

Ich bin eine Bindung meiner W3CErrorOrWarning Art Objekte an Steuerelemente in einem WPF-Fenster..NET WPF XAML-Namespace-Mapping für Enum-Typen

Eine seiner Eigenschaften heißt "Typ". Es ist vom Typ W3CErrorOrWarningType die eine einfache Enum ist:

 
Enum W3CErrorOrWarningType 
    ValidationError 
    ValidationWarning 
End Enum 

Ich versuche, es auf diese Weise zu verwenden ...

<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> 

ich diesen Fehler:

Undefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'WpfApplication1.XhtmlTextBox.W3CValidator.W3CResponse.W3CErrorOrWarning' that is not included in the assembly.

Mein WpfApplication1 Projekt enthält ein Benutzersteuerelement XhtmlTextBox. Das Benutzersteuerelement enthält eine Klasse namens W3CValidator, die eine Klasse W3CResponse genannt enthält, die eine Klasse W3CErrorOrWarning genannt enthält, die eine Aufzählung W3CErrorOrWarningType genannt enthält.

Wie gebe ich den Namespace für diesen Typ in meinem Windows XAML ein?

Antwort

1

EDIT: Ich habe denke, es ist falsch, zum ersten Mal, aber ...

Sind auch Sie den Enum Name im Namensraum?

sollte ich:

xmlns:enums="clr-namespace:WpfApplication1.XhtmlTextBox.W3CValidator.W3CResponse 

alle oben sind Namespaces und nicht Typen bedenkt, wenn W3CResponse ein Typ ist, dann können Sie nicht die verschachtelte ENUM direkt in XAML verwenden, hat XAML keine Unterstützung für verschachtelte Klassen.

Requirements for a Custom Class as a XAML Element

Your custom class must not be a nested class

+0

dass ein doofer ist. –