Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
WindowsStore: Now bootstrapping the application using TinyIoC (no Nav…
…igationManager yet). This means TinyIoC PCL works fine under WindowsStore! Related to issue #423.
- Loading branch information
1 parent
09e0543
commit e8e5603
Showing
7 changed files
with
372 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
57 changes: 57 additions & 0 deletions
57
MPfm/MPfm.WindowsStore/Classes/WindowsStoreSyncDeviceSpecifications.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
// Copyright © 2011-2013 Yanick Castonguay | ||
// | ||
// This file is part of MPfm. | ||
// | ||
// MPfm is free software: you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License as published by | ||
// the Free Software Foundation, either version 3 of the License, or | ||
// (at your option) any later version. | ||
// | ||
// MPfm is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
// GNU General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU General Public License | ||
// along with MPfm. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
using System; | ||
using MPfm.Library; | ||
using MPfm.Library.Objects; | ||
|
||
namespace MPfm.WindowsStore.Classes | ||
{ | ||
public class WindowsStoreSyncDeviceSpecifications : ISyncDeviceSpecifications | ||
{ | ||
public event NetworkStateChanged OnNetworkStateChanged; | ||
|
||
public SyncDeviceType GetDeviceType() | ||
{ | ||
return SyncDeviceType.WindowsStore; | ||
} | ||
|
||
public string GetDeviceName() | ||
{ | ||
return "WindowsStore Generic Device"; | ||
} | ||
|
||
public long GetFreeSpace() | ||
{ | ||
return 0; | ||
} | ||
|
||
public string GetIPAddress() | ||
{ | ||
return string.Empty; | ||
} | ||
|
||
public string GetMusicFolderPath() | ||
{ | ||
return string.Empty; | ||
} | ||
|
||
public void ReportNetworkStateChange(NetworkState networkState) | ||
{ | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
<common:LayoutAwarePage | ||
x:Name="pageRoot" | ||
x:Class="MPfm.WindowsStore.Main" | ||
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}" | ||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | ||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | ||
xmlns:local="using:MPfm.WindowsStore" | ||
xmlns:common="using:MPfm.WindowsStore.Common" | ||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | ||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | ||
mc:Ignorable="d"> | ||
|
||
<Page.Resources> | ||
|
||
<!-- | ||
Collection of grouped items displayed by this page, bound to a subset | ||
of the complete item list because items in groups cannot be virtualized | ||
--> | ||
<CollectionViewSource | ||
x:Name="groupedItemsViewSource" | ||
Source="{Binding Groups}" | ||
IsSourceGrouped="true" | ||
ItemsPath="TopItems"/> | ||
|
||
<!-- TODO: Delete this line if the key AppName is declared in App.xaml --> | ||
<x:String x:Key="AppName">Sessions</x:String> | ||
</Page.Resources> | ||
|
||
<!-- | ||
This grid acts as a root panel for the page that defines two rows: | ||
* Row 0 contains the back button and page title | ||
* Row 1 contains the rest of the page layout | ||
--> | ||
<Grid Style="{StaticResource LayoutRootStyle}"> | ||
<Grid.RowDefinitions> | ||
<RowDefinition Height="140"/> | ||
<RowDefinition Height="*"/> | ||
</Grid.RowDefinitions> | ||
|
||
<!-- Horizontal scrolling grid used in most view states --> | ||
<GridView | ||
x:Name="itemGridView" | ||
AutomationProperties.AutomationId="ItemGridView" | ||
AutomationProperties.Name="Grouped Items" | ||
Grid.RowSpan="2" | ||
Padding="116,137,40,46" | ||
ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}" | ||
ItemTemplate="{StaticResource Standard250x250ItemTemplate}" | ||
SelectionMode="None" | ||
IsSwipeEnabled="false"> | ||
|
||
<GridView.ItemsPanel> | ||
<ItemsPanelTemplate> | ||
<VirtualizingStackPanel Orientation="Horizontal"/> | ||
</ItemsPanelTemplate> | ||
</GridView.ItemsPanel> | ||
<GridView.GroupStyle> | ||
<GroupStyle> | ||
<GroupStyle.HeaderTemplate> | ||
<DataTemplate> | ||
<Grid Margin="1,0,0,6"> | ||
<Button | ||
AutomationProperties.Name="Group Title" | ||
Style="{StaticResource TextPrimaryButtonStyle}"> | ||
<StackPanel Orientation="Horizontal"> | ||
<TextBlock Text="{Binding Title}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" /> | ||
<TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/> | ||
</StackPanel> | ||
</Button> | ||
</Grid> | ||
</DataTemplate> | ||
</GroupStyle.HeaderTemplate> | ||
<GroupStyle.Panel> | ||
<ItemsPanelTemplate> | ||
<VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0"/> | ||
</ItemsPanelTemplate> | ||
</GroupStyle.Panel> | ||
</GroupStyle> | ||
</GridView.GroupStyle> | ||
</GridView> | ||
|
||
<!-- Vertical scrolling list only used when snapped --> | ||
<ListView | ||
x:Name="itemListView" | ||
AutomationProperties.AutomationId="ItemListView" | ||
AutomationProperties.Name="Grouped Items" | ||
Grid.Row="1" | ||
Visibility="Collapsed" | ||
Margin="0,-10,0,0" | ||
Padding="10,0,0,60" | ||
ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}" | ||
ItemTemplate="{StaticResource Standard80ItemTemplate}" | ||
SelectionMode="None" | ||
IsSwipeEnabled="false"> | ||
|
||
<ListView.GroupStyle> | ||
<GroupStyle> | ||
<GroupStyle.HeaderTemplate> | ||
<DataTemplate> | ||
<Grid Margin="7,7,0,0"> | ||
<Button | ||
AutomationProperties.Name="Group Title" | ||
Style="{StaticResource TextPrimaryButtonStyle}"> | ||
<StackPanel Orientation="Horizontal"> | ||
<TextBlock Text="{Binding Title}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" /> | ||
<TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/> | ||
</StackPanel> | ||
</Button> | ||
</Grid> | ||
</DataTemplate> | ||
</GroupStyle.HeaderTemplate> | ||
</GroupStyle> | ||
</ListView.GroupStyle> | ||
</ListView> | ||
|
||
<!-- Back button and page title --> | ||
<Grid> | ||
<Grid.ColumnDefinitions> | ||
<ColumnDefinition Width="Auto"/> | ||
<ColumnDefinition Width="*"/> | ||
</Grid.ColumnDefinitions> | ||
<Button x:Name="backButton" Click="GoBack" IsEnabled="{Binding Frame.CanGoBack, ElementName=pageRoot}" Style="{StaticResource BackButtonStyle}"/> | ||
<TextBlock x:Name="pageTitle" Text="{StaticResource AppName}" Grid.Column="1" IsHitTestVisible="false" Style="{StaticResource PageHeaderTextStyle}"/> | ||
</Grid> | ||
<StackPanel Grid.Row="1" Margin="120,30,0,0"> | ||
<TextBlock Text="What's your name?"/> | ||
<StackPanel Orientation="Horizontal" Margin="0,20,0,20"> | ||
<TextBox x:Name="nameInput" Width="300" HorizontalAlignment="Left"/> | ||
<Button Content="Say "Hello"" Click="Button_Click"/> | ||
</StackPanel> | ||
<TextBlock x:Name="greetingOutput"/> | ||
</StackPanel> | ||
|
||
<VisualStateManager.VisualStateGroups> | ||
|
||
<!-- Visual states reflect the application's view state --> | ||
<VisualStateGroup x:Name="ApplicationViewStates"> | ||
<VisualState x:Name="FullScreenLandscape"/> | ||
<VisualState x:Name="Filled"/> | ||
|
||
<!-- The entire page respects the narrower 100-pixel margin convention for portrait --> | ||
<VisualState x:Name="FullScreenPortrait"> | ||
<Storyboard> | ||
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="backButton" Storyboard.TargetProperty="Style"> | ||
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PortraitBackButtonStyle}"/> | ||
</ObjectAnimationUsingKeyFrames> | ||
|
||
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="itemGridView" Storyboard.TargetProperty="Padding"> | ||
<DiscreteObjectKeyFrame KeyTime="0" Value="96,137,10,56"/> | ||
</ObjectAnimationUsingKeyFrames> | ||
</Storyboard> | ||
</VisualState> | ||
|
||
<!-- | ||
The back button and title have different styles when snapped, and the list representation is substituted | ||
for the grid displayed in all other view states | ||
--> | ||
<VisualState x:Name="Snapped"> | ||
<Storyboard> | ||
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="backButton" Storyboard.TargetProperty="Style"> | ||
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource SnappedBackButtonStyle}"/> | ||
</ObjectAnimationUsingKeyFrames> | ||
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="pageTitle" Storyboard.TargetProperty="Style"> | ||
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource SnappedPageHeaderTextStyle}"/> | ||
</ObjectAnimationUsingKeyFrames> | ||
|
||
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="itemListView" Storyboard.TargetProperty="Visibility"> | ||
<DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/> | ||
</ObjectAnimationUsingKeyFrames> | ||
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="itemGridView" Storyboard.TargetProperty="Visibility"> | ||
<DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/> | ||
</ObjectAnimationUsingKeyFrames> | ||
</Storyboard> | ||
</VisualState> | ||
</VisualStateGroup> | ||
</VisualStateManager.VisualStateGroups> | ||
</Grid> | ||
</common:LayoutAwarePage> |
Oops, something went wrong.