locked
Binding un membre parent RRS feed

  • Question

  • Bonjour,

    Je cherche à Binding le Background d'un "Grid" se situant dans une ListBox.

    En l'état c'est possible sauf que, je Binding la ListBox pour la remplir juste avant ce qui m’empêche de donné trouvé la source du Binding

    <ListBox x:Name="ListeDeChaine" Grid.Row="1" ItemsSource="{Binding MaChaine}" FontSize="18" Height="358" VerticalAlignment="Bottom" Margin="40,0">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid x:Name="premierblock" HorizontalAlignment="Stretch" Width="440" Height="70">
                            <Grid x:Name="blockChaine" Height="60" Background="{Binding Source=monBrush}" >

    la Source monBrush est donc inaccessible, comment puis je l'atteindre ?

    Merci Beaucoup

    mardi 6 novembre 2012 11:42

Réponses

  • Bonsoir,

    Merci mais cela ne fonctionne pas. J'obtient un crash assez sympathique avec l'erreur suivante qui n’apparaît qu'après la compilation :

    Impossible de résoudre la ressource "Locator".

    Merci

    Shik

    EDIT : 

    J'ai pus trouvé un moyen de remplacement : 

    <Grid x:Name="blockChaine" Height="60" Background="{Binding ElementName=image1,Path=Background}

    C'est un peu sale mais visiblement, je peux volé la valeur d'un objet définit dans le xaml de cette façon.

    Merci encore

    • Modifié AntonyCanut mardi 6 novembre 2012 17:03
    • Marqué comme réponse AntonyCanut mardi 6 novembre 2012 17:03
    mardi 6 novembre 2012 16:58

Toutes les réponses

  • Hello!

    A ce que je sais, les Ancestors ne sont pas dispo en WP7.
    Du coup, je passerais par le Locator puis par la propriété de mon écran et enfin la propriété demandée:

    <Grid x:Name="blockChaine" Height="60" Background="{Binding Main.MonBrush, Source={StaticResource Locator}}" >

    Pas sûr que ce soit la meilleure manière, mais sa marche!

    Cordialement,

    Mafyou.

    • Marqué comme réponse AntonyCanut mardi 6 novembre 2012 17:03
    • Non marqué comme réponse rudyhuynMVP mardi 6 novembre 2012 18:13
    mardi 6 novembre 2012 14:07
  • Bonsoir,

    Merci mais cela ne fonctionne pas. J'obtient un crash assez sympathique avec l'erreur suivante qui n’apparaît qu'après la compilation :

    Impossible de résoudre la ressource "Locator".

    Merci

    Shik

    EDIT : 

    J'ai pus trouvé un moyen de remplacement : 

    <Grid x:Name="blockChaine" Height="60" Background="{Binding ElementName=image1,Path=Background}

    C'est un peu sale mais visiblement, je peux volé la valeur d'un objet définit dans le xaml de cette façon.

    Merci encore

    • Modifié AntonyCanut mardi 6 novembre 2012 17:03
    • Marqué comme réponse AntonyCanut mardi 6 novembre 2012 17:03
    mardi 6 novembre 2012 16:58
  • Ce qui est en effet la solution idéale. Bien joué de l'avoir trouvé tout seul !

    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue

    mardi 6 novembre 2012 18:14
  • Le locator c'est un ressource que l'on a quand on a MvvMLight. Je pensais que tu travallais la dessus.

    Rudy, ce n'est pas possible de choper le datacontext de la page? RelativeSource, FindAncestor...

    mardi 6 novembre 2012 18:24
  • Merci,

    Non je n'utilise pas MvvMLight car au risque de passé pour un débutant... je ne sais pas encore ce que c'est... Cette ignorance sera rétablie au plus tôt lorsque j'aurais un jour ou deux de dispo.

    mercredi 7 novembre 2012 07:19
  • Ok :-) pour info, lorsque MvvMLight est installé, il t'installera des templates de projet afin d'avoir directement un projet en MvvM.

    Le locator te servira pour échanger entre tes ViewModel.

    Cordialement,

    Mafyou.

    mercredi 7 novembre 2012 09:18
  • sauf que dans son cas, c'est une problématique vue-vue et qui plus est, dans la même page, le locator n'est pas adapté à sa problématique

    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue

    mercredi 7 novembre 2012 09:34
  • Oui, je comprends que la méthode n'est pas bonne même si le résultat est le même. Le faîte de "casser" le pattern est plutôt dommage.

    Du coup, on veut le datacontext parent: en SL, c'est avec les Ancestors. J'ai beau essayé, je n'ai pas réussi à faire fonctionner "RelativeSource Mode=FindAncestor".

    mercredi 7 novembre 2012 09:49