{ #if DEBUG if (System.Diagnostics.Debugger.IsAttached) { this.DebugSettings.EnableFrameRateCounter = true; } #endif Frame rootFrame = Window.Current.Content as Frame; // Do not repeat app initialization when the Window already has content, // just ensure that the window is active if (rootFrame == null) { // Create a Frame to act as the navigation context and navigate to the first page rootFrame = new Frame(); var viewModel = new MainWindowModel(); MainPage main = new MainPage(); main.DataContext = viewModel; // TODO: change this value to a cache size that is appropriate for your application rootFrame.CacheSize = 1; if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { // TODO: Load state from previously suspended application } // Place the frame in the current Window Window.Current.Content = rootFrame; }
{ #if DEBUG if (System.Diagnostics.Debugger.IsAttached) { this.DebugSettings.EnableFrameRateCounter = true; } #endif Frame rootFrame = Window.Current.Content as Frame; // Do not repeat app initialization when the Window already has content, // just ensure that the window is active if (rootFrame == null) { // Create a Frame to act as the navigation context and navigate to the first page
rootFrame = new Frame(); var viewModel = new MainWindowModel(); MainPage main = new MainPage(); main.DataContext = viewModel;
// TODO: change this value to a cache size that is appropriate for your application rootFrame.CacheSize = 1; if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { // TODO: Load state from previously suspended application } // Place the frame in the current Window Window.Current.Content = rootFrame; }
{ readonly List<Menu> _menu; public MenuRespository() { if(_menu==null) { _menu = new List<Menu>(); } _menu.Add(Menu.CreateMenu("/Photos/Gas-50.png", "t")); _menu.Add(Menu.CreateMenu("/Photos/Gas-50.png", "t")); _menu.Add(Menu.CreateMenu("/Photos/Gas-50.png", "t")); _menu.Add(Menu.CreateMenu("/Photos/Gas-50.png", "t")); _menu.Add(Menu.CreateMenu("/Photos/Gas-50.png", "t")); _menu.Add(Menu.CreateMenu("/Photos/Gas-50.png", "t")); _menu.Add(Menu.CreateMenu("/Photos/Gas-50.png", "t")); } public List<Menu> GetMenu() { return new List<Menu>(_menu); } }
public class Menu { public static Menu CreateMenu(string iconthumb, string text) { return new Menu { IconThumb = iconthumb, Text = text }; } public string IconThumb { get; set; } public string Text { get; set; } }
public class MainWindowModel :ViewModelBase { readonly MenuRespository _menuRepository; ObservableCollection<ViewModelBase> _viewModels; public MainWindowModel() { _menuRepository = new MenuRespository(); //create an instance of our viewmodel add it to our collection MenuListViewModel viewModel = new MenuListViewModel(_menuRepository); this.ViewModels.Add(viewModel); } public ObservableCollection<ViewModelBase> ViewModels { get { if(_viewModels==null) { _viewModels = new ObservableCollection<ViewModelBase>(); } return _viewModels; } } }
public abstract class ViewModelBase :INotifyPropertyChanged, IDisposable { protected ViewModelBase() { } public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged(string propertyName) { PropertyChangedEventHandler hander = this.PropertyChanged; if(hander!=null) { var e = new PropertyChangedEventArgs(propertyName); hander(this, e); } } public void Dispose() { this.Dispose(); } protected virtual void OnDispose() { } }