Bonjour,
Je cherche, depuis ma form, à accéder aux propriétés d'un objet dans un controltemplate.
Mon architecture est que j'ai dans ma window des usercontrol "menu", instanciés avec un nombre de ControlTemplate différents pour le remplir de boutons (mon ControlTemplate est un seul bouton).
J'ai besoin, depuis ma window, de modifier le .text duTextBlock de mon ControlTemplate.
Mon ControlTemplate :
1 2 3 4 5 6 7 8 9 10
| <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ControlTemplate TargetType="Button" x:Key="MenuBouton">
<Button x:Name="Btn" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" Width="{TemplateBinding ActualWidth}" Height="{TemplateBinding ActualHeight}">
<Border x:Name="MyBorder">
<TextBlock x:Name="txtBtn" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="16" FontWeight="Bold" />
</Border>
</Button>
</ControlTemplate>
</ResourceDictionary> |
Dans mon usercontrol, pour créer mes boutons de mon menu, "Boutons(i)" correspond à mon array contenant tous mes boutons (je vous passe tous les détails de taille, positions, etc):
1 2 3
| For i = 0 To Nbre_Btn - 1
BorderBoutons.Children.Add(Boutons(i))
Next |
Toujours dans mon UserControl, j'ai une
Public Sub ChangeText(ByVal BoutonNum As Integer, ByVal Text As String)
qui est appelé depuis ma window.
Que dois-je mettre dedans, parce que j'ai testé findname(), FindVisualChild etc... Et je galère !
Merci pour votre aide !
Partager