چه طوری باید فرم ها را در MVVM بست و مجددا باز کرد
سلام وقت بخیر
مشکلی که بنده در MVVM دارم اینه که در WPF این اجازه که یک فرمی که بسته شده رو نمیشه دوباره باز کرد ، مگر نمونه جدیدی ازش بسازیم.
چه طور میشه یه فرم رو زمانی که کاربر می بنده ( به هر روشی ) از بستن اون جلوگیری و فقط اون رو hide کنیم
در رویداد Closing فرم ها کمک گرفتم با قطعه کد زیر ، ولی نتیجه ای نداشت
var result = MessageBox.Show("Really close?", "Warning", MessageBoxButton.YesNo);
if (result != MessageBoxResult.Yes)
{
e.Cancel = false;
this.Hide();
}
نقل قول: چه طوری باید فرم ها را در MVVM بست و مجددا باز کرد
سلام
e.Cancel را باید true کنید . نه false .
و همچنین
this.Visibility = Visibility.Hidden
اگر پروپرتی Window.Visibility در رویداد Window.Closing کار نکرد (نمیدونم ، تست نکردم) ، در یک رویداد دیگه ای که مد نظرتون هست ، جابجا کنید .
نقل قول: چه طوری باید فرم ها را در MVVM بست و مجددا باز کرد
ممنون بزرگوار ، اینطوری درست شد
var result = MessageBox.Show("Really close?", "Warning", MessageBoxButton.YesNo);
if (result == MessageBoxResult.Yes)
{
e.Cancel = true;
_viewModel.ClearModel();
this.Visibility = Visibility.Hidden;
}
else if (result == MessageBoxResult.No)
{
e.Cancel = true;
}