Je suis tombé sur un problème intéressant.Comment changer ToggleButton de ViewModel?
Résumé: Je ne peux pas modifier l'état d'un bouton bascule du ViewModel. Le même problème semble être avec Microsoft ToggleButton ainsi que Telerik Controls.
ViewModel:
private bool? _isToggleChecked;
public bool? IsToggleChecked
{
get { return _isToggleChecked; }
set
{
if(_isToggleChecked == value)
return;
_isToggleChecked = value;
RaisePropertyChanged(()=>IsToggleChecked);
}
}
public VM()
{
FireCommand = new DelegateCommand(OnFire);
}
private void OnFire()
{
if (IsToggleChecked == null)
{
IsToggleChecked = true;
return;
}
IsToggleChecked = !IsToggleChecked;
}
public DelegateCommand FireCommand { get; set; }
Voir: (Microsoft ToggleButton pourrait être utilisé à la place avec le même comportement)
<Grid x:Name="LayoutRoot" Background="White">
<StackPanel>
<telerik:RadToggleButton Height="50" IsChecked="{Binding IsToggleChecked}" />
<Button Command="{Binding FireCommand}" Height="20" />
</StackPanel>
</Grid>
Afficher le code Derrière:
public MainPage()
{
InitializeComponent();
DataContext = new VM();
}
Comment est-ce possible? Comment puis-je changer l'état de bascule programmatique?
Merci beaucoup,
avez-vous essayé de ne pas utiliser la propriété Nullable? – Tigran
Merci, ça marche maintenant. :) S'il vous plaît mettez ceci en réponse et je le marque comme répondu. – Houman