Question

S'il vous plaît pardonnez la question noob mais je vais tourner en rond et ont besoin de réponses ...

De toute façon, je l'ai regardé cet article WPF: Comment de se lier à un RadioButtons ENUM? mais je ne peux pas obtenir le convertisseur d'être reconnu dans le fichier XAML.

<Window x:Class="Widget.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:dg="http://schemas.microsoft.com/wpf/2008/toolkit"
    Title="Widget" Height="366" Width="588" WindowStyle="SingleBorderWindow">
    <Window.Resources>
        <EnumBooleanConverter x:Key="enumBooleanConverter" />
    </Window.Resources>
...

J'ai un fichier séparé en maintenant la classe EnumBooleanConverter mais la référence ci-dessus me donne l'erreur suivante:

  

Erreur 1 La balise 'EnumBooleanConverter' n'existe pas dans l'espace de noms XML « http: / /schemas.microsoft.com/winfx/2006/xaml/presentation .

Je l'ai essayé d'ajouter des références à l'assemblage puis annexant l'étiquette du XAML, mais en vain.

<Window x:Class="Widget.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:dg="http://schemas.microsoft.com/wpf/2008/toolkit"
    xmlns:local="clr-namespace:Widget;assembly=Widget"
    Title="Widget" Height="366" Width="588" WindowStyle="SingleBorderWindow">
    <Window.Resources>
        <local:EnumBooleanConverter x:Key="enumBooleanConverter" />
    </Window.Resources>
...

Toute aide serait grandement appréciée.

Était-ce utile?

La solution

Après beaucoup gratter la tête (et une bonne quantité de crier à l'écran), je l'ai identifié le problème.

Il se trouve que l'espace de noms identifiant ne devrait pas avoir l'ensemble.

Je définissait comme ça

xmlns:local="clr-namespace:Widget;assembly=Widget"

... Mais il aurait juste été comme ça

xmlns:local="clr-namespace:Widget"

Autres conseils

Assurez-vous que EnumBooleanConverter est accessible au public et il a un constructeur public vide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top