private void AddCustomViewLocator() { _originalLocateForModel = ViewLocator.LocateForModel; ViewLocator.LocateForModel = (model, displayLocation, context) => { UIElement element; switch (model) { case IOwnerViewLocator ownerViewLocator: element = ownerViewLocator.GetView(context); break; case IAutoGenSettingsView _: element = new AutoSettingsView(); break; default: element = _originalLocateForModel(model, displayLocation, context); break; } return(element); }; }
private void AddCustomViewLocator() { _originalLocateForModel = ViewLocator.LocateForModel; ViewLocator.LocateForModel = (model, displayLocation, context) => { var element = _originalLocateForModel(model, displayLocation, context); if ((element == null || element is TextBlock) && model is IAutoGenSettingsView) { element = new AutoSettingsView(); } return(element); }; }