lepoco / wpfui

WPF UI provides the Fluent experience in your known and loved WPF framework. Intuitive design, themes, navigation and new immersive controls. All natively and effortlessly.
https://wpfui.lepo.co
MIT License
7.69k stars 751 forks source link

Issue with INavigationAware in version 3.0.5 #1169

Open keeleycenc opened 3 months ago

keeleycenc commented 3 months ago

Describe the bug

INavigationAware behavior when inherited by both View and ViewModel: "When both View and ViewModel inherit INavigationAware, the methods OnNavigatedFrom and OnNavigatedTo in the ViewModel do not get triggered. If I remove INavigationAware from the View, then it works normally in the ViewModel

To Reproduce

View:

 public partial class ProductionVolumePage : INavigableView<ProductionVolumeViewModel>, INavigationAware

ViewModel:

public class ProductionVolumeViewModel : ViewModelBase, INavigationAware

Expected behavior

Using the Wb2 control, when leaving a class, it requires creating and destroying controls in the View, and starting and stopping data update services in the ViewModel. This setup was functioning before the update to version 3.0.5, but now it no longer works.

Screenshots

No response

OS version

Version: Windows 11 Pro Version Number: 23H2 Installation Date: February 29, 2024 Operating System Build: 22631.3880

.NET version

.NET 8.0

WPF-UI NuGet version

3.0.5

Additional context

No response

keeleycenc commented 3 months ago

Was this update to INavigationAware expected or unexpected? In visual statistics, I use INavigationAware to create and destroy WebView controls as well as back-end data services Start and Dispose. The purpose is to save memory overhead. Release and close real-time data acquisition of databases, communications, events, etc., and keep only the necessary data in the backend so that the next time you open the page, there is no need to repeatedly initialize all Viewmodels. If this is expected, then I will take another approach and abandon INavigationAware. If not, I'll keep it. Wait for the next version fix

chucker commented 3 months ago

I suspect this is a regression resulting from #1116.

pomianowski commented 3 months ago

CC @textGamex

textGamex commented 3 months ago

oh, I will fix this bug.