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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
For i = 0 To Nbre_Btn - 1
BorderBoutons.Children.Add(Boutons(i))
Next
Toujours dans mon UserControl, j'ai une
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !