Bonjour,
J'aimerais savoir comment lancer un popup en WPF.
(j'ai besoin de ne pas passer par le code behind mais pas le ViewModel)
merci d'avance![]()
Bonjour,
J'aimerais savoir comment lancer un popup en WPF.
(j'ai besoin de ne pas passer par le code behind mais pas le ViewModel)
merci d'avance![]()
Il y a plusieurs façons. Celle-ci, par exemple : http://www.codeproject.com/Questions...WPF-using-MVVM
OK merci mais je ne comprends pas tout:
Dans l'article il est écrit :
<Button Content="Add Customer" Name = "AddButton" Command="{Binding ShowPopup, UpdateSourceTrigger=PropertyChanged }"/>
Popup Name="TestPopUp" IsOpen="False"
StackPanel Margin="0,0,0,30"
TextBlock Text="First Name:" FontWeight="Bold" Margin="0,0,5,0"
TextBlock Text="{Binding FirstName}" MinWidth="50" Margin="0,0,5,0"
TextBlock Text="Last Name:" FontWeight="Bold" Margin="0,0,5,0"
TextBlock Text="{Binding LastName}" MinWidth="50" Margin="0,0,5,0"
TextBlock Text="Age:" FontWeight="Bold" Margin="0,0,5,0"
TextBlock Text="{Binding Age}" MinWidth ="150" Margin="0,0,5,0"
Button Content="Add Customer" Command="{Binding AddCustomerCommand}"Height="27" MinWidth ="200" Width="200"
StackPanel
Popup
My view Model Code:-
public class MainViewModel : ViewModelBase
{
private DelegateCommand<object> _showpopup;
private void DisplayPopup(object param)
{
MessageBox.Show("Pop up need to be open Here");
}
public DelegateCommand<object> ShowPopup
{
get
{
if (_showpopup == null)
{
_showpopup = new DelegateCommand<object>(DisplayPopup, CanAddCustomer);
}
return _showpopup;
}
}
Question : Qu'est ce que je dois mettre à la place de
MessageBox.Show("Pop up need to be open Here"); ?
Et si j'utilise une Icommand à la place de DelegateCommand c'est bon aussi ?
merci
Hum, je n'avais pas bien vu que le code ne fait pas exactement ce que je pensais...
ce que je ferais, c'est binder le IsOpen de la popup vers une propriété dans ton viewmodel. Et dans le DisplayPopup, je mettrais juste cette propriété à true.
Tu peux utiliser ICommand. Toutes les commandes (donc DelegateCommand) dérivent de ICommand
Partager