1 pièce(s) jointe(s)
Appeler une méthode située dans MainWindow depuis une autre classe
Bonjour dans un projet WPF j'utilise le package nuggets Mahapp Metro.
dans mon MainWindow (qui est un MetroWindow) j'ai cette méthode SetWindowState :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public partial class MainWindow : MetroWindow
{
private readonly Cursor _cWait = Cursors.Wait;
private readonly Cursor _cArrow = Cursors.Arrow;
private readonly MainWindowModel _model = new MainWindowModel();
public MainWindow()
{
InitializeComponent();
_ = ThemeManager.Current.ChangeTheme(this, "Light.Blue");
Title = Utility.AppName;
DataContext = _model;
}
public void SetWindowState()
{
WindowState = System.Windows.WindowState.Minimized;
} |
Je souhaite l'appelée depuis une autre classe du projet comme ceci :
Code:
1 2 3 4 5 6 7 8 9
| protected override void OnClick()
{
InitDataSource();
var mw = ((MainWindow)Application.Current.MainWindow);
mw?.Dispatcher.Invoke(() =>
{
mw.SetWindowState();
});
} |
pas d'erreur de compil mais lors du click sur le bouton j'ai cette erreur :
Pièce jointe 642706
Je ne vois pas trop comment faire autrement... Si quelqu'un peut m'aider