Comment créer des commandes pouvant être liées dans un contrôle personnalisé?
En supposant un code comme ci-dessous,
public class SomeViewModel{
ICommand ReloadCommand{get...}
ICommand SaveCommand{get..}
}
//SomeView.xaml
<SomeCustomControl Reload="ReloadCommand" Save="SaveCommand" /> //NOT SURE HOW??
//SomeCustomContro.xaml
<SomeCustomControl x:Name="someCustomControl">
<Button Command={Binding ElementName=someCustomControl, Path=Reload />
<Button Command={Binding ElementName=someCustomControl, Path=Save />
</SomeCustomControl>
//SomeCustomControl.xaml.cs
..... //NOT SURE HOW TO ALLOW BINDING TO A ICOMMAND ??
Dans mon SomeCustomControl, j'ai besoin de soutien "de la liaison de ICommand en xaml".
Je comprends DependencyProperties pourrait être lier comme ça, mais dans ce cas, j'ai besoin de lier ICommand.
Quelqu'un peut-il s'il vous plaît suggérer quelle est la meilleure façon de le faire?
Toute suggestion de matériel ou un lien serait de l'utiliser car il me manque une direction.
EDIT 1) je peux utiliser le DataContext SomeView dans SomeCustomControl. Il n'y a plus de logique et de séparation entre les deux que je ne peux pas se dissoudre. Je "doit" conserver une référence de Recharger/Enregistrer ICommands quelque part dans mon SomeCustomControl.
Merci beaucoup.
source d'informationauteur Manish Basantani
Vous devez vous connecter pour publier un commentaire.
Laissez-moi vous guide, vous souhaitez lier à la
Reload
etSave
droit?De sorte que les besoins de la création, de la déclaration et de la définition des deux propriétés de dépendance
ReloadCommandProperty
etSaveCommandProperty
de typeICommand
pourSomeCustomControl
.Donc en supposant que
SomeCustomControl
dérive deControl
...Après cette bonne liaison à
RelodCommand
etSaveCommand
les propriétés de commencer à travailler...Créer une propriété qui sera de retour de votre commande et lier cette propriété où il est nécessaire.
Changement de la liaison dans votre code pour
Et lier le contrôle personnalisé DataContext de la vue modèle qui contient les commandes.