Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <Page
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:viewModels="using:Client.ViewModel"
- x:Class="Client.View.ViewMain"
- mc:Ignorable="d">
- <Grid x:Name="ContentGrid" RequestedTheme="Light">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="Auto"/>
- </Grid.ColumnDefinitions>
- <StackPanel Name="FeatureLeft" Orientation="Horizontal" Grid.Column="0"/>
- <StackPanel Name="FeatureCenter" Orientation="Horizontal" Grid.Column="1"/>
- <StackPanel Name="FeatureRight" Orientation="Horizontal" Grid.Column="2"/>
- </Grid>
- </Page>
- public sealed partial class ViewMain : Page
- {
- public ViewModelMain viewModelMain;
- public ViewMain()
- {
- this.InitializeComponent();
- viewModelMain = new ViewModelMain();
- viewModelMain.RegisterFeatures(this);
- }
- }
- public class ViewModelMain: NotificationBase
- {
- public ModelMain model;
- public ViewModelMain()
- {
- model = new ModelMain();
- _Features = model.LoadFeatures();
- }
- public void RegisterFeatures(Page p)
- {
- foreach (var feature in _Features)
- {
- feature.AddToView(p);
- }
- }
- ObservableCollection<IViewFeature> _Features = new ObservableCollection<IViewFeature>();
- public ObservableCollection<IViewFeature> Features {
- get { return _Features; }
- set { SetProperty(ref _Features, value); }
- }
- }
- public class ModelMain
- {
- public ObservableCollection<IViewFeature> FeatureList;
- public ObservableCollection<IViewFeature> LoadFeatures()
- {
- FeatureList = new ObservableCollection<IViewFeature>();
- IViewFeature galleryFeature = new Gallery.View.ViewGallery();
- FeatureList.Add(galleryFeature);
- return FeatureList;
- }
- }
- public void AddToView( Page p)
- {
- StackPanel target = (StackPanel)p.FindName("FeatureLeft");
- target.Children.Add(this);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement