summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan C <ianc@noddybox.co.uk>2012-06-09 22:28:39 +0000
committerIan C <ianc@noddybox.co.uk>2012-06-09 22:28:39 +0000
commit6bef56432282b2d2604ad5764faf71c985262666 (patch)
tree83ce48011d70b009a450f88c300c52f4492345bc
parentdf4b3a7bdae2ab3942dde952958bb5f52ce1513c (diff)
Changing settings page to a panorama page, and in progress for setting definable keyboard joystick.
-rw-r--r--wpspec/wpspec/Resources/Strings.Designer.cs87
-rw-r--r--wpspec/wpspec/Resources/Strings.resx31
-rw-r--r--wpspec/wpspec/Settings.cs58
-rw-r--r--wpspec/wpspec/SettingsPage.xaml160
-rw-r--r--wpspec/wpspec/Spectrum/Emulation.cs14
-rw-r--r--wpspec/wpspec/wpspec.csproj1
6 files changed, 262 insertions, 89 deletions
diff --git a/wpspec/wpspec/Resources/Strings.Designer.cs b/wpspec/wpspec/Resources/Strings.Designer.cs
index 44e24e3..e0ff595 100644
--- a/wpspec/wpspec/Resources/Strings.Designer.cs
+++ b/wpspec/wpspec/Resources/Strings.Designer.cs
@@ -434,6 +434,69 @@ namespace wpspec.Resources {
}
/// <summary>
+ /// Looks up a localized string similar to Keyboard.
+ /// </summary>
+ public static string SettingsKeyboardJoystick {
+ get {
+ return ResourceManager.GetString("SettingsKeyboardJoystick", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Down.
+ /// </summary>
+ public static string SettingsKeyDown {
+ get {
+ return ResourceManager.GetString("SettingsKeyDown", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Fire 1.
+ /// </summary>
+ public static string SettingsKeyFire1 {
+ get {
+ return ResourceManager.GetString("SettingsKeyFire1", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Fire 2.
+ /// </summary>
+ public static string SettingsKeyFire2 {
+ get {
+ return ResourceManager.GetString("SettingsKeyFire2", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Left.
+ /// </summary>
+ public static string SettingsKeyLeft {
+ get {
+ return ResourceManager.GetString("SettingsKeyLeft", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Right.
+ /// </summary>
+ public static string SettingsKeyRight {
+ get {
+ return ResourceManager.GetString("SettingsKeyRight", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Up.
+ /// </summary>
+ public static string SettingsKeyUp {
+ get {
+ return ResourceManager.GetString("SettingsKeyUp", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Miner Willy.
/// </summary>
public static string SettingsManicJoystick {
@@ -443,11 +506,29 @@ namespace wpspec.Resources {
}
/// <summary>
- /// Looks up a localized string similar to Settings.
+ /// Looks up a localized string similar to Joysticks.
+ /// </summary>
+ public static string SettingsPageTitleJoystick {
+ get {
+ return ResourceManager.GetString("SettingsPageTitleJoystick", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Sound.
+ /// </summary>
+ public static string SettingsPageTitleSound {
+ get {
+ return ResourceManager.GetString("SettingsPageTitleSound", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Tapes.
/// </summary>
- public static string SettingsPageTitle {
+ public static string SettingsPageTitleTapes {
get {
- return ResourceManager.GetString("SettingsPageTitle", resourceCulture);
+ return ResourceManager.GetString("SettingsPageTitleTapes", resourceCulture);
}
}
diff --git a/wpspec/wpspec/Resources/Strings.resx b/wpspec/wpspec/Resources/Strings.resx
index 8751701..8dd4f93 100644
--- a/wpspec/wpspec/Resources/Strings.resx
+++ b/wpspec/wpspec/Resources/Strings.resx
@@ -214,8 +214,8 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
<data name="SettingsIgnoreMimeText" xml:space="preserve">
<value>Ignore MIME type of tape files</value>
</data>
- <data name="SettingsPageTitle" xml:space="preserve">
- <value>Settings</value>
+ <data name="SettingsPageTitleTapes" xml:space="preserve">
+ <value>Tapes</value>
</data>
<data name="SettingsSoundText" xml:space="preserve">
<value>Sound</value>
@@ -268,4 +268,31 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
<data name="SettingsJoystick" xml:space="preserve">
<value>Joysticks</value>
</data>
+ <data name="SettingsPageTitleJoystick" xml:space="preserve">
+ <value>Joysticks</value>
+ </data>
+ <data name="SettingsPageTitleSound" xml:space="preserve">
+ <value>Sound</value>
+ </data>
+ <data name="SettingsKeyboardJoystick" xml:space="preserve">
+ <value>Keyboard</value>
+ </data>
+ <data name="SettingsKeyFire1" xml:space="preserve">
+ <value>Fire 1</value>
+ </data>
+ <data name="SettingsKeyFire2" xml:space="preserve">
+ <value>Fire 2</value>
+ </data>
+ <data name="SettingsKeyDown" xml:space="preserve">
+ <value>Down</value>
+ </data>
+ <data name="SettingsKeyLeft" xml:space="preserve">
+ <value>Left</value>
+ </data>
+ <data name="SettingsKeyRight" xml:space="preserve">
+ <value>Right</value>
+ </data>
+ <data name="SettingsKeyUp" xml:space="preserve">
+ <value>Up</value>
+ </data>
</root> \ No newline at end of file
diff --git a/wpspec/wpspec/Settings.cs b/wpspec/wpspec/Settings.cs
index 872384f..45d8a90 100644
--- a/wpspec/wpspec/Settings.cs
+++ b/wpspec/wpspec/Settings.cs
@@ -11,13 +11,15 @@ using System.Windows.Shapes;
using System.IO.IsolatedStorage;
using System.Collections.Generic;
using Noddybox.Emulation.Xna.Input.Joystick;
+using wpspec.Spectrum;
+using wpspec.ViewModels;
namespace wpspec
{
/// <summary>
/// Holds global settings
/// </summary>
- public class Settings
+ public class Settings : BaseViewModel
{
/// <summary>
/// Get/set whether sound is enabled.
@@ -56,21 +58,12 @@ namespace wpspec
}
/// <summary>
- /// Get/set whether cursor joystick emulation is enabled.
+ /// Get/set whether a keyboard-based joystick emulation is enabled.
/// </summary>
- public bool CursorJoystick
+ public bool KeyboardJoystick
{
- get {return cursorJoystick.Setting;}
- set {cursorJoystick.Setting = value;}
- }
-
- /// <summary>
- /// Get/set whether joystick emulation for pressing Manic Miner-style keys is enabled.
- /// </summary>
- public bool ManicJoystick
- {
- get {return manicJoystick.Setting;}
- set {manicJoystick.Setting = value;}
+ get {return keyboardJoystick.Setting;}
+ set {keyboardJoystick.Setting = value;}
}
/// <summary>
@@ -96,17 +89,22 @@ namespace wpspec
private Settings()
{
- sound = new SettingValue<bool>("sound", true);
- kempstonJoystick = new SettingValue<bool>("kempstonJoystick", true);
- fullerJoystick = new SettingValue<bool>("fullerJoystick", true);
- cursorJoystick = new SettingValue<bool>("cursorJoystick", false);
- manicJoystick = new SettingValue<bool>("manicJoystick", false);
- joystickLock = new SettingValue<JoystickLock>("joystickLock", JoystickLock.EightWay);
+ sound = new SettingValue<bool>("Sound", true, this);
+ kempstonJoystick = new SettingValue<bool>("KempstonJoystick", true, this);
+ fullerJoystick = new SettingValue<bool>("FullerJoystick", true, this);
+ keyboardJoystick = new SettingValue<bool>("KeyboardJoystick", false, this);
+ joystickKeyUp = new SettingValue<SpectrumKeySymbol>("JoystickKeyUp", SpectrumKeySymbol.Key7, this);
+ joystickKeyDown = new SettingValue<SpectrumKeySymbol>("JoystickKeyDown", SpectrumKeySymbol.Key6, this);
+ joystickKeyLeft = new SettingValue<SpectrumKeySymbol>("JoystickKeyLeft", SpectrumKeySymbol.Key5, this);
+ joystickKeyRight = new SettingValue<SpectrumKeySymbol>("JoystickKeyRight", SpectrumKeySymbol.Key8, this);
+ joystickKeyFire1 = new SettingValue<SpectrumKeySymbol>("JoystickKeyFire1", SpectrumKeySymbol.Key0, this);
+ joystickKeyFire2 = new SettingValue<SpectrumKeySymbol>("JoystickKeyFire2", SpectrumKeySymbol.Key0, this);
+ joystickLock = new SettingValue<JoystickLock>("JoystickLock", JoystickLock.EightWay, this);
#if DEBUG
- tapeUrl = new SettingValue<string>("tapeurl", "http://noddybox.co.uk/spec");
+ tapeUrl = new SettingValue<string>("tapeurl", "http://noddybox.co.uk/spec", this);
#else
- tapeUrl = new SettingValue<string>("tapeurl", "http://enter-a-url.here/possible-path");
+ tapeUrl = new SettingValue<string>("tapeurl", "http://enter-a-url.here/possible-path", this);
#endif
}
@@ -114,6 +112,7 @@ namespace wpspec
{
private string name;
private T setting;
+ private Settings parent;
public T Setting
{
@@ -138,13 +137,15 @@ namespace wpspec
}
IsolatedStorageSettings.ApplicationSettings.Save();
+ parent.NotifyPropertyChanged(name);
}
}
}
- public SettingValue(string name, T defaultValue)
+ public SettingValue(string name, T defaultValue, Settings parent)
{
this.name = name;
+ this.parent = parent;
try
{
@@ -154,14 +155,21 @@ namespace wpspec
{
setting = defaultValue;
}
+
+ parent.NotifyPropertyChanged(name);
}
}
private SettingValue<bool> sound;
private SettingValue<bool> kempstonJoystick;
private SettingValue<bool> fullerJoystick;
- private SettingValue<bool> cursorJoystick;
- private SettingValue<bool> manicJoystick;
+ private SettingValue<bool> keyboardJoystick;
+ private SettingValue<SpectrumKeySymbol> joystickKeyUp;
+ private SettingValue<SpectrumKeySymbol> joystickKeyDown;
+ private SettingValue<SpectrumKeySymbol> joystickKeyLeft;
+ private SettingValue<SpectrumKeySymbol> joystickKeyRight;
+ private SettingValue<SpectrumKeySymbol> joystickKeyFire1;
+ private SettingValue<SpectrumKeySymbol> joystickKeyFire2;
private SettingValue<JoystickLock> joystickLock;
private SettingValue<string> tapeUrl;
diff --git a/wpspec/wpspec/SettingsPage.xaml b/wpspec/wpspec/SettingsPage.xaml
index af2fb4d..6c12dda 100644
--- a/wpspec/wpspec/SettingsPage.xaml
+++ b/wpspec/wpspec/SettingsPage.xaml
@@ -4,6 +4,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
+ xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:res="clr-namespace:wpspec.Resources"
@@ -19,75 +20,120 @@
<phone:PhoneApplicationPage.Resources>
<res:Strings x:Key="Strings" />
<conv:ConvertIntToEnum x:Key="IntToEnum" />
+ <conv:ConvertBooleanToVisibility x:Key="BoolToVisibility" />
</phone:PhoneApplicationPage.Resources>
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="*"/>
- </Grid.RowDefinitions>
+ <controls:Panorama Title="{Binding AppTitle, Source={StaticResource Strings}}">
- <!--TitlePanel contains the name of the application and page title-->
- <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
- <TextBlock x:Name="ApplicationTitle"
- Text="{Binding AppTitle, Source={StaticResource Strings}}"
- Style="{StaticResource PhoneTextNormalStyle}"/>
- <TextBlock x:Name="PageTitle"
- Text="{Binding SettingsPageTitle, Source={StaticResource Strings}}"
- Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
- </StackPanel>
+ <!-- Joystick Settings -->
+ <controls:PanoramaItem Header="{Binding SettingsPageTitleJoystick, Source={StaticResource Strings}}">
+ <ScrollViewer>
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ </Grid.RowDefinitions>
+ <toolkit:ListPicker Header="{Binding SettingsJoystickLock, Source={StaticResource Strings}}"
+ SelectedIndex="{Binding JoystickLock, Mode=TwoWay, Converter={StaticResource IntToEnum}}"
+ Grid.Row="0">
+ <toolkit:ListPickerItem>Eight Way</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Four Way</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Two Way Horizontal</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Two Way Vertical</toolkit:ListPickerItem>
+ </toolkit:ListPicker>
+ <toolkit:ToggleSwitch IsChecked="{Binding KempstonJoystick, Mode=TwoWay}"
+ Content="{Binding SettingsKempstonJoystick, Source={StaticResource Strings}}"
+ Grid.Row="1" />
+ <toolkit:ToggleSwitch IsChecked="{Binding FullerJoystick, Mode=TwoWay}"
+ Content="{Binding SettingsFullerJoystick, Source={StaticResource Strings}}"
+ Grid.Row="2" />
+ <toolkit:ToggleSwitch IsChecked="{Binding KeyboardJoystick, Mode=TwoWay}"
+ Content="{Binding SettingsKeyboardJoystick, Source={StaticResource Strings}}"
+ Grid.Row="3" />
+ <Grid Grid.Row="4" Visibility="{Binding KeyboardJoystick, Mode=OneWay, Converter={StaticResource BoolToVisibility}}">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ </Grid.RowDefinitions>
+ <toolkit:ListPicker Header="{Binding SettingsKeyUp, Source={StaticResource Strings}}"
+ Grid.Row="0">
+ <toolkit:ListPickerItem>Test 1</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 2</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 3</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 4</toolkit:ListPickerItem>
+ </toolkit:ListPicker>
+ <toolkit:ListPicker Header="{Binding SettingsKeyDown, Source={StaticResource Strings}}"
+ Grid.Row="1">
+ <toolkit:ListPickerItem>Test 1</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 2</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 3</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 4</toolkit:ListPickerItem>
+ </toolkit:ListPicker>
+ <toolkit:ListPicker Header="{Binding SettingsKeyLeft, Source={StaticResource Strings}}"
+ Grid.Row="2">
+ <toolkit:ListPickerItem>Test 1</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 2</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 3</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 4</toolkit:ListPickerItem>
+ </toolkit:ListPicker>
+ <toolkit:ListPicker Header="{Binding SettingsKeyRight, Source={StaticResource Strings}}"
+ Grid.Row="3">
+ <toolkit:ListPickerItem>Test 1</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 2</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 3</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 4</toolkit:ListPickerItem>
+ </toolkit:ListPicker>
+ <toolkit:ListPicker Header="{Binding SettingsKeyFire1, Source={StaticResource Strings}}"
+ Grid.Row="4">
+ <toolkit:ListPickerItem>Test 1</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 2</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 3</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 4</toolkit:ListPickerItem>
+ </toolkit:ListPicker>
+ <toolkit:ListPicker Header="{Binding SettingsKeyFire2, Source={StaticResource Strings}}"
+ Grid.Row="5">
+ <toolkit:ListPickerItem>Test 1</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 2</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 3</toolkit:ListPickerItem>
+ <toolkit:ListPickerItem>Test 4</toolkit:ListPickerItem>
+ </toolkit:ListPicker>
+ </Grid>
+ </Grid>
+ </ScrollViewer>
+ </controls:PanoramaItem>
- <!--ContentPanel - place additional content here-->
- <ScrollViewer Grid.Row="1">
- <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="Auto"/>
- </Grid.RowDefinitions>
- <TextBlock Text="{Binding SettingsTapeUrlText, Source={StaticResource Strings}}"
- Grid.Row="0" />
- <TextBox Text="{Binding TapeUrl, Mode=TwoWay}"
- Grid.Row="1" />
- <toolkit:ToggleSwitch IsChecked="{Binding Sound, Mode=TwoWay}"
+ <!-- Sound Settings -->
+ <controls:PanoramaItem Header="{Binding SettingsPageTitleSound, Source={StaticResource Strings}}">
+ <Grid>
+ <toolkit:ToggleSwitch IsChecked="{Binding Sound, Mode=TwoWay}"
Content="{Binding SettingsSoundText, Source={StaticResource Strings}}"
Grid.Row="2" />
- <TextBlock Text="{Binding SettingsJoystickLock, Source={StaticResource Strings}}"
- Grid.Row="3" />
- <toolkit:ListPicker SelectedIndex="{Binding JoystickLock, Mode=TwoWay, Converter={StaticResource IntToEnum}}"
- Grid.Row="4">
- <toolkit:ListPickerItem>Eight Way</toolkit:ListPickerItem>
- <toolkit:ListPickerItem>Four Way</toolkit:ListPickerItem>
- <toolkit:ListPickerItem>Two Way Horizontal</toolkit:ListPickerItem>
- <toolkit:ListPickerItem>Two Way Vertical</toolkit:ListPickerItem>
- </toolkit:ListPicker>
- <TextBlock Text="{Binding SettingsJoystick, Source={StaticResource Strings}}"
- Grid.Row="5" />
- <Grid Grid.Row="6" Margin="20,0,0,0">
+ </Grid>
+ </controls:PanoramaItem>
+
+ <!-- Tape Settings -->
+ <controls:PanoramaItem Header="{Binding SettingsPageTitleTapes, Source={StaticResource Strings}}">
+ <Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
- <toolkit:ToggleSwitch IsChecked="{Binding KempstonJoystick, Mode=TwoWay}"
- Content="{Binding SettingsKempstonJoystick, Source={StaticResource Strings}}"
- Grid.Row="0" />
- <toolkit:ToggleSwitch IsChecked="{Binding FullerJoystick, Mode=TwoWay}"
- Content="{Binding SettingsFullerJoystick, Source={StaticResource Strings}}"
- Grid.Row="1" />
- <toolkit:ToggleSwitch IsChecked="{Binding CursorJoystick, Mode=TwoWay}"
- Content="{Binding SettingsCursorJoystick, Source={StaticResource Strings}}"
- Grid.Row="2" />
- <toolkit:ToggleSwitch IsChecked="{Binding ManicJoystick, Mode=TwoWay}"
- Content="{Binding SettingsManicJoystick, Source={StaticResource Strings}}"
- Grid.Row="3" />
+ <TextBlock Text="{Binding SettingsTapeUrlText, Source={StaticResource Strings}}"
+ Grid.Row="0" />
+ <TextBox Text="{Binding TapeUrl, Mode=TwoWay}"
+ Grid.Row="1" />
</Grid>
- </Grid>
- </ScrollViewer>
+ </controls:PanoramaItem>
+ </controls:Panorama>
</Grid>
</phone:PhoneApplicationPage>
diff --git a/wpspec/wpspec/Spectrum/Emulation.cs b/wpspec/wpspec/Spectrum/Emulation.cs
index 11e84f2..ac01a31 100644
--- a/wpspec/wpspec/Spectrum/Emulation.cs
+++ b/wpspec/wpspec/Spectrum/Emulation.cs
@@ -73,6 +73,8 @@ namespace wpspec.Spectrum
private readonly byte[] mem = new byte[0x10000];
private readonly Clock clock = new Clock(0, 224, 312, 0);
+ // Keyboard matrix. The 9th entry is used to store the joystick state.
+ //
private readonly byte[] matrix = new byte[9];
private readonly Dictionary<SpectrumKeySymbol, KeyMatrix> matrixLookup;
@@ -574,8 +576,16 @@ namespace wpspec.Spectrum
/// <param name="buttons">The state of the buttons.</param>
public void Joystick(DigitalJoystickState state, bool[] buttons)
{
- joystickState = state;
- joystickButtons = buttons;
+ matrix[8] = (byte)state;
+
+ if (buttons[0] || buttons[1])
+ {
+ matrix[8] |= 0x10;
+ }
+
+ if (Settings.Instance.KeyboardJoystick)
+ {
+ }
}
/// <summary>
diff --git a/wpspec/wpspec/wpspec.csproj b/wpspec/wpspec/wpspec.csproj
index 0b7e639..5795046 100644
--- a/wpspec/wpspec/wpspec.csproj
+++ b/wpspec/wpspec/wpspec.csproj
@@ -49,6 +49,7 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Phone" />
+ <Reference Include="Microsoft.Phone.Controls, Version=7.0.0.0, Culture=neutral, PublicKeyToken=24eec0d8c86cda1e, processorArchitecture=MSIL" />
<Reference Include="Microsoft.Phone.Controls.Toolkit, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b772ad94eb9ca604, processorArchitecture=MSIL" />
<Reference Include="Microsoft.Phone.Interop" />
<Reference Include="Microsoft.Xna.Framework" />