2011-06-15 2 views
0

Il s'agit d'un cas ouvert et fermé qui, espérons-le, sauvera un mal de tête à l'avenir.Commutateur de jeton inattendu dans la règle

J'ai eu la ligne suivante dans le Bloc-notes (via OneNote) que je coller dans un TextBlock pour déterminer sa visibilité basée sur une propriété:

Visibility="{Binding IsPrinted, Converter={StaticResource VisibilityConverter}}" 

Cependant, cela a généré l'erreur suivante:

Unexpected token Comma in Rule: 
MarkupExtension ::= '{' TYPENAME @(Arguments)? '}', 
in '{Binding IsPrinted, Converter={StaticResource VisibilityConverter}}'. 

Tout semblait être configuré correctement et il n'y avait aucune différence perceptible entre cette ligne et la ligne que je l'avais copiée dans un autre UserControl, qui a bien fonctionné.

Répondre

0

La réponse se trouve dans les espaces.

Retrait, puis en ajoutant les trois espaces (entre Binding et IsPrinted, entre la virgule et Converter et entre StaticResource et VisibilityConverter) a donné lieu à une construction réussie. Il semble que les espaces Visual Studio et les espaces standard soient différents et que le twain ne puisse jamais se mélanger - copier la ligne de Visual Studio dans OneNote et l'éditer à cause de la non-concordance des espaces.

Les caractères espace sont représentés dans Word comme . pour un espace standard et un peu o pour un espace Visual Studio. L'utilisation de l'un ou de l'autre dans la ligne est correcte, mais le fait de les mésapparier provoque l'erreur ci-dessus.