Model-View-ViewModel (MVVM) to architektoniczny wzorzec projektowy do implementowania interfejsów użytkownika, który oddziela interfejs użytkownika (widok) od jego danych (model) za pośrednictwem logiki prezentacji (jego ViewModel).
Wraz z wprowadzeniem biblioteki składników architektury systemu Android wprowadzono kilka nowych klas, w tym AndroidViewModeli ViewModel. Jednak mam problem ze zrozumieniem różnicy między tymi dwiema klasami. PlikDokumentacja zwięźle opisuje AndroidViewModelnastępująco: Świadomość kontekstu aplikacji ViewModel Doceniam zwięzłość, ale co to dokładnie oznacza? Kiedy powinniśmy zdecydować się na stosowanie AndroidViewModelprzez ViewModeli vice …
Ostatnio miałem problem z tworzeniem okien dialogowych dodawania i edycji dla mojej aplikacji wpf. Wszystko, co chciałem zrobić w moim kodzie, to coś takiego. (Najczęściej używam pierwszego podejścia Viewmodel z mvvm) ViewModel, który wywołuje okno dialogowe: var result = this.uiDialogService.ShowDialog("Dialogwindow Title", dialogwindowVM); // Do anything with the dialog result Jak …
Chciałbym obsłużyć Closingzdarzenie (gdy użytkownik kliknie prawy górny przycisk „X”) mojego okna, aby ostatecznie wyświetlić komunikat potwierdzający lub / i anulować zamknięcie. Wiem, jak to zrobić w kodzie: zapisz się na Closingzdarzenie okna, a następnie użyj CancelEventArgs.Cancelwłaściwości. Ale używam MVVM, więc nie jestem pewien, czy to dobre podejście. Myślę, że …
Obecnie pracuję z szablonem Microsoft MVVM i frustruje mnie brak szczegółowych przykładów. Dołączony przykład ContactBook pokazuje bardzo mało obsługi poleceń, a jedyny inny przykład, jaki znalazłem, pochodzi z artykułu MSDN Magazine, w którym koncepcje są podobne, ale używa nieco innego podejścia i nadal nie jest skomplikowane. Czy są jakieś przyzwoite …
Ostatnio często natknąłem się na coś, co nazywa się Prism . Microsoft, który prowadzi projekt, opisuje go jako Wskazówki dotyczące aplikacji złożonych w WPF i Silverlight. Obawiam się, że nawet po przeczytaniu bardziej szczegółowych opisów nie mam pojęcia, o co właściwie chodzi. Mam nadzieję, że ktoś może mi w jasny …
Myślę, że mam a TextBoxi Button. Teraz sprawdzam warunek po kliknięciu przycisku i jeśli warunek okaże się fałszywy, wyświetlam wiadomość użytkownikowi, a następnie muszę ustawić kursor na TextBoxkontrolce. if (companyref == null) { var cs = new Lipper.Nelson.AdminClient.Main.Views.ContactPanels.CompanyAssociation(); MessageBox.Show("Company does not exist.", "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); cs.txtCompanyID.Focusable = true; System.Windows.Input.Keyboard.Focus(cs.txtCompanyID); } …
Chcę napisać ViewModel, który zawsze zna bieżący stan niektórych właściwości zależności tylko do odczytu z widoku. W szczególności mój GUI zawiera FlowDocumentPageViewer, który wyświetla jedną stronę naraz z FlowDocument. FlowDocumentPageViewer udostępnia dwie właściwości zależności tylko do odczytu o nazwach CanGoToPreviousPage i CanGoToNextPage. Chcę, aby mój ViewModel zawsze znał wartości tych …
Czy ktoś może mi dać krótkie podsumowanie tego, czym jest ViewModelLocator, jak działa i jakie są zalety / wady korzystania z niego w porównaniu z DataTemplates? Próbowałem znaleźć informacje w Google, ale wydaje się, że jest wiele różnych ich implementacji i nie ma listy szczegółów, co to jest i wady …
Przeglądam kilka artykułów MVVM, przede wszystkim to i to . Moje konkretne pytanie brzmi: Jak komunikować zmiany modelu z modelu do ViewModel? W artykule Josha nie widzę, żeby to robił. ViewModel zawsze pyta Model o właściwości. W przykładzie Rachel ma implementację modelu INotifyPropertyChangedi wywołuje zdarzenia z modelu, ale są one …
Wysyłając formularz w AngularJS i korzystając z przeglądarki zapamiętaj hasło, a przy kolejnej próbie logowania pozwolisz przeglądarce wypełnić formularz logowania nazwą użytkownika i hasłem, $scopemodel nie zostanie zmieniony na podstawie autouzupełniania. Jedyny brudny hack, jaki znalazłem, to użycie następującej dyrektywy: app.directive("xsInputSync", ["$timeout" , function($timeout) { return { restrict : "A", …
Czy istnieje sposób przekazania dodatkowego argumentu do mojego AndroidViewModelkonstruktora niestandardowego z wyjątkiem kontekstu aplikacji. Przykład: public class MyViewModel extends AndroidViewModel { private final LiveData<List<MyObject>> myObjectList; private AppDatabase appDatabase; public MyViewModel(Application application, String param) { super(application); appDatabase = AppDatabase.getDatabase(this.getApplication()); myObjectList = appDatabase.myOjectModel().getMyObjectByParam(param); } } A kiedy chcę ViewModelużyć mojej niestandardowej klasy, …
Rozpoczynam nową aplikację desktopową i chcę ją zbudować przy użyciu MVVM i WPF. Zamierzam również skorzystać z TDD. Problem polega na tym, że nie wiem, jak powinienem użyć kontenera IoC, aby wstrzyknąć moje zależności w moim kodzie produkcyjnym. Załóżmy, że mam następującą klasę i interfejs: public interface IStorage { bool …
W aplikacji WPF korzystającej z MVVM mam kontrolę użytkownika z elementem widoku listy. W czasie wykonywania użyje wiązania danych, aby wypełnić widok listy kolekcją obiektów. Jaki jest prawidłowy sposób dołączenia zdarzenia dwukrotnego kliknięcia do elementów w widoku listy, tak aby po dwukrotnym kliknięciu elementu w widoku listy odpowiadające mu zdarzenie …
To pytanie mówi wszystko. Mam okno i próbowałem ustawić DataContext przy użyciu pełnej przestrzeni nazw na ViewModel, ale wydaje się, że robię coś nie tak. <Window x:Class="BuildAssistantUI.BuildAssistantWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" DataContext="BuildAssistantUI.ViewModels.MainViewModel">
Tworzę login przy użyciu a, window controlaby umożliwić użytkownikowi zalogowanie się do WPFaplikacji, którą tworzę. Do tej pory stworzyłem metodę, która sprawdza, czy użytkownik podał poprawne dane uwierzytelniające dla usernameiw passworda textboxna ekranie logowania, bindingdwa properties. Osiągnąłem to, tworząc taką boolmetodę; public bool CheckLogin() { var user = context.Users.Where(i => …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.