UWP xaml: Comment faire pour afficher un bouton avec l'icône et le texte?
Comment puis-je afficher une image/icône ET le texte dans un bouton?
<StackPanel Name="stackPanel" Orientation="Horizontal" Tapped="stackPanel_Tapped">
<Button x:Name="button" FontFamily="Segoe MDL2 Assets" Content="" Width="50" Height="50" Background="Transparent" />
<TextBlock Text="Grades" FontSize="18" VerticalAlignment="Center" />
</StackPanel>
Je peux ajouter un taplistener à la stackpanel, mais qui ne fera pas le stackpanel ont des effets visuels comme un vrai bouton.
J'ai aussi essayé:
<Button FontFamily="Segoe MDL2 Assets" Width="50" Height="50" x:Name="button" Content="test">
<Image x:Name="button" Source="Assets/test.png" />
</Button>
Mais je ne peux pas définir le contenu de deux fois. Je veux à la fois du texte et une icône dans un bouton de sorte que, lorsqu'un utilisateur clique dessus, il aura un effet visuel comme un bouton. Est-ce possible? Ou quelqu'un d'autre a une autre méthode pour y parvenir?
Merci pour la lecture.
<Button><StackPanel><Image/><TextBlock/></StackPanel></Button>
- Merci ça a fonctionné! Ne savais pas qu'on pouvait le faire.
- poster une réponse alors que Denny ne peut l'accepter.
Vous devez vous connecter pour publier un commentaire.
Donc, puisque je ne pouvais pas trouver un duplicata (qui je pourrais jurer que c'est le type de question qui a été posée avant) je suppose que je vais fournir une réponse légitime.
Au cœur du bouton modèle est un
ContentPresenter
qui vous permet de passer en toute CLR objet. La mise en garde cependant, c'est que seul peut être passé. CEPENDANT, si cet objet est un groupe capable de contenir les enfants, puis il va passer le tout à travers le contenu.Donc, dans ce cas, si nous avons fait cela de cette façon:
Alors il va échouer et de se plaindre pour un seul objet a permis à la fois.
Sauf si vous fournissez un panneau parent titulaire de ces enfants, il respecte tout comme le contenu et fournir le résultat souhaité à titre d'exemple:
Depuis
StackPanel
est un objet CLR qui peut accueillir les enfants, vous êtes bon pour aller. Espérons que cela aide, cheers!