Meilleur auteur de réponses
Binding entre ma ToolBar et mon tabControl

Question
-
Bonjour
je n'arrive pas à avoir les commades déclarés dans les TabItemViewModels de mon TabControl,
<Border DataContext="{Binding}"> <ToolBarTray x:Name="myToolBarTray" Background="{StaticResource TabItemElementsColorUp}" HorizontalAlignment="Stretch"> <ToolBar x:Name="myToolBarControl" AllowDrop="True" HorizontalAlignment="Stretch"> <TextBox Text="{Binding Path=WorkSpaceMW.SelectedMovement.TitleToDisplay}" Width="80" Background="AliceBlue"/> <!-- NewCommand --> <Button Command="{Binding Path=WorkSpaceMW.SelectedMovement.NewCommand}"> <Button.Content> <StackPanel Orientation="Horizontal"> <Image Source="/ITSProject.UIProjectV4;component/Images/TaskForAll/New.png" Width="16" Height="16" Margin="2"/> <TextBlock Text="Nouveau" VerticalAlignment="Center"/> </StackPanel> </Button.Content> </Button>
pour vérifier encore une autre fois, j'ai ajouté la ligne en gras dans le code ci-dessus,
sachant que je déclare pour chaque ViewModel de chaque Item une propriété : TitleToDisplay
et voici le Code Xaml du tabControl:
<TabControl x:Name="Tc" DataContext="{Binding}" ItemsSource="{Binding Path=WorkSpaceMW.ObColMovements}" SelectedItem="{Binding Path=WorkSpaceMW.SelectedMovement, Mode=OneWay}" Style="{DynamicResource TabControlMovementStyle}" ItemContainerStyle="{DynamicResource IabItemMovementClosableStyle}" IsSynchronizedWithCurrentItem="True" > </TabControl>
c quoi le problème ?Merci
Réponses
-
Hello,
Dans chaue TabItem tu as un élément de la collection ObColMovements comme DataContext. Si tu veux te binder à la commande du ViewModel ou est la collection elle même, tu peux utiliser ce code:
<!-- NewCommand --> <Button Command="{Binding Path=DataContext.WorkSpaceMW.SelectedMovement.NewCommand, ElementName=Tc}"> <Button.Content> <StackPanel Orientation="Horizontal"> <Image Source="/ITSProject.UIProjectV4;component/Images/TaskForAll/New.png" Width="16" Height="16" Margin="2"/> <TextBlock Text="Nouveau" VerticalAlignment="Center"/> </StackPanel> </Button.Content> </Button>
Bon courage,
Jonathan ANTOINE - http://wpf-france.fr - http://blog.lexique-du-net.com- Proposé comme réponse Pascal SailleModerator mercredi 10 août 2011 19:25
- Marqué comme réponse JonathanANTOINEMVP, Moderator mercredi 10 août 2011 21:09
Toutes les réponses
-
Hello,
Dans chaue TabItem tu as un élément de la collection ObColMovements comme DataContext. Si tu veux te binder à la commande du ViewModel ou est la collection elle même, tu peux utiliser ce code:
<!-- NewCommand --> <Button Command="{Binding Path=DataContext.WorkSpaceMW.SelectedMovement.NewCommand, ElementName=Tc}"> <Button.Content> <StackPanel Orientation="Horizontal"> <Image Source="/ITSProject.UIProjectV4;component/Images/TaskForAll/New.png" Width="16" Height="16" Margin="2"/> <TextBlock Text="Nouveau" VerticalAlignment="Center"/> </StackPanel> </Button.Content> </Button>
Bon courage,
Jonathan ANTOINE - http://wpf-france.fr - http://blog.lexique-du-net.com- Proposé comme réponse Pascal SailleModerator mercredi 10 août 2011 19:25
- Marqué comme réponse JonathanANTOINEMVP, Moderator mercredi 10 août 2011 21:09
-
Bonjour,
Est-ce que vous avez testé la solution proposée ? Merci de partager avec nous les résultats,afin que d'autres personnes avec le même problème puissent profiter de cette solution.
Cordialement, Pascal.
Développeur Wpf/SilverLight/WinPhone7