6
votes

Popup WPF a une bordure noire au lieu d'un transparent

Je crée de manière programmable une popup pour un élément dans une fenêtre WPF et ne peut pas vous débarrasser de la bordure noire:

 popup avec bordure xxx

Le contrôle de l'utilisateur maplocalisationInformation est défini dans xaml comme ceci: xxx

Je ne trouve aucune combinaison de bordure, de remplissage de fond et de paramètres de transparence qui rendraient la zone noire transparente. Aucune idée?


2 commentaires

Êtes-vous sûr que la frontière n'appartient pas à votre contrôle de maplocalisationInformation? Que se passe-t-il lorsque vous mettez un rectangle rouge comme l'enfant?


J'ai ajouté la définition de contrôle utilisateur et jouera avec un contenu alternatif. Merci pour l'entrée.


5 Réponses :


1
votes

Votre popup permet une transparence mais n'utilise pas de fond transparent. Changer de:

var p = new Popup {
     PlacementTarget = target,
     IsOpen = true,
     StaysOpen = false,
     AllowsTransparency = true,
     Background = Brushes.Transparent
};


1 commentaires

Il n'y a pas de propriété de fond dans WPF pour Popup.



1
votes

Ceci est causé par la propriété code> code> de MapLocationInformation code>. Il suffit de définir le code> de votre code> de votre usercontrol code> sur null et autorańsparency code> to true code> pour le réparer, comme ceci:

<UserControl ...
 mc:Ignorable="d" 
 Background="{x:Null}"
 AllowsTransparency="True"


0 commentaires

2
votes

Je viens de courir dans le même problème. Le problème des adapateurs à être, que lorsque la propriété ISOPEN est TO TRUE trop tôt, la transparence ne fonctionne pas correctement.

Ma solution consistait à déplacer le réglage Isopen à vrai de la contrainte à l'événement de la fenêtre contextuelle. xxx


0 commentaires

0
votes

@nikor a raison. Mais ce n'est que l'ordre des propriétés.

Vous devez définir Permettransparency avant isopen : xxx < / pré>


0 commentaires

0
votes

Dans mon cas, tout ce que je devais ajouter était Pervoirtransparency = true pour le document popup . J'ai un sentiment La réponse de Kent est correcte et l'inclusion d'une propriété de fond inexistante il n'y a pas de pertinence car elle n'est pas nécessaire .


0 commentaires