Bonjour,
J'aimerai binder un Event de ma View a une Command de mon ViewModel (Loaded pour ce coup ci).
Est ce qu'il y a des techniques pour ça ?
Merci![]()
Bonjour,
J'aimerai binder un Event de ma View a une Command de mon ViewModel (Loaded pour ce coup ci).
Est ce qu'il y a des techniques pour ça ?
Merci![]()
Mon topic exposait le même problème :
http://www.developpez.net/forums/d77...mandes-souris/
Il faut utiliser un genre de pattern décorateur (behavior) pour implémenter les fonctionnalités des Event et donc qu'ils correspondent à des ICommand.
Responsable Java de Developpez.com (Twitter et Facebook)
Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
--------
Architecte Solution
LinkedIn : https://www.linkedin.com/in/nicolascaudard/
ok merci !
Je commence a me demander si mon approche est bonne par contre ...
Je veux initialiser ma vue avec un ID (on va dire que c'est une vue d'édition d'objet).
Donc j'aimerai créer ma vue via un constructeur "public MaVue(Guid id)"
et remonter cet Id dans le ViewModel.
Je pensais copier ca vers le viewModel dans le constructeur de la vue (un truc du style (DataContext as MonViewModel).ObjectID = id) et ensuite cet id pourrait être utilisé dans le view model une fois l evenement Loaded levé ...
Mais finalement, ca me parait super crade
Des avis ?
Pourquoi est-ce la vue qui reçoit l'id et non pas le ViewModel ?
Les règles du forum
Le trio magique : FAQ + Cours + fonction rechercher
Mes articles
Pas de questions par messages privés svp
Software is never finished, only abandoned.
Euhhhh je ne comprend pas ?
Passer des ViewModel en argument de la construction d'une vue ? ca se fait ça ?
Pour le moment j'ai toujours instancié un viewmodel de cette façon :
Comment je vais pouvoir remplacer ce code si je passe mon ViewModel en argument de mon constructeur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <UserControl.Resources> <viewmodels:GraphMarkPartViewModel x:Key="ViewModel" /> <views:GraphMarkLinesConverter x:Key="GraphMarkLinesConverter" /> </UserControl.Resources> <UserControl.DataContext> <Binding Source="{StaticResource ViewModel}"/> </UserControl.DataContext>
Euh je ne sais pas si ma façon est la bonne mais je n'initialise pas de ViewModel via la Vue.
Dans mon cas c'est la classe principal qui créée mon ViewModel. La Vue n'a pas à connaître le ViewModel, elle doit juste se binder sur le DataContext courant. Evidement ce DataContext courant est le ViewModel.
A confirmer tout ce que je viens de dire bien sur![]()
Responsable Java de Developpez.com (Twitter et Facebook)
Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
--------
Architecte Solution
LinkedIn : https://www.linkedin.com/in/nicolascaudard/
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
Partager