Währungsrechner Init

This commit is contained in:
BlubbFish 2011-10-24 17:01:57 +00:00
parent 4089c9ec0f
commit d66bc8839d
13 changed files with 484 additions and 0 deletions

View File

@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Währungrechner", "Währungrechner\Währungrechner.csproj", "{42E4DDE8-6879-4DDE-A03D-6EEDB4FAD3E8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{42E4DDE8-6879-4DDE-A03D-6EEDB4FAD3E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{42E4DDE8-6879-4DDE-A03D-6EEDB4FAD3E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42E4DDE8-6879-4DDE-A03D-6EEDB4FAD3E8}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{42E4DDE8-6879-4DDE-A03D-6EEDB4FAD3E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{42E4DDE8-6879-4DDE-A03D-6EEDB4FAD3E8}.Release|Any CPU.Build.0 = Release|Any CPU
{42E4DDE8-6879-4DDE-A03D-6EEDB4FAD3E8}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,19 @@
<Application
x:Class="Währungrechner.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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">
<!--Anwendungsressourcen-->
<Application.Resources>
</Application.Resources>
<Application.ApplicationLifetimeObjects>
<!--Erforderliches Objekt, das Lebensdauerereignisse der Anwendung behandelt-->
<shell:PhoneApplicationService
Launching="Application_Launching" Closing="Application_Closing"
Activated="Application_Activated" Deactivated="Application_Deactivated"/>
</Application.ApplicationLifetimeObjects>
</Application>

View File

@ -0,0 +1,135 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
namespace Währungrechner
{
public partial class App : Application
{
/// <summary>
/// Bietet einen einfachen Zugriff auf den Stammframe der Phone-Anwendung.
/// </summary>
/// <returns>Der Stammframe der Phone-Anwendung.</returns>
public PhoneApplicationFrame RootFrame { get; private set; }
/// <summary>
/// Konstruktor für das Application-Objekt.
/// </summary>
public App()
{
// Globaler Handler für nicht abgefangene Ausnahmen.
UnhandledException += Application_UnhandledException;
// Während des Debuggens Profilerstellungsinformationen zur Grafikleistung anzeigen.
if (System.Diagnostics.Debugger.IsAttached)
{
// Zähler für die aktuelle Bildrate anzeigen.
Application.Current.Host.Settings.EnableFrameRateCounter = true;
// Bereiche der Anwendung hervorheben, die mit jedem Bild neu gezeichnet werden.
//Application.Current.Host.Settings.EnableRedrawRegions = true;
// Nicht produktiven Visualisierungsmodus für die Analyse aktivieren,
// in dem GPU-beschleunigte Bereiche der Seite farbig hervorgehoben werden.
//Application.Current.Host.Settings.EnableCacheVisualization = true;
}
// Silverlight-Standardinitialisierung
InitializeComponent();
// Phone-spezifische Initialisierung
InitializePhoneApplication();
}
// Code, der beim Starten der Anwendung ausgeführt werden soll (z. B. über "Start")
// Dieser Code wird beim Reaktivieren der Anwendung nicht ausgeführt
private void Application_Launching(object sender, LaunchingEventArgs e)
{
}
// Code, der ausgeführt werden soll, wenn die Anwendung aktiviert wird (in den Vordergrund gebracht wird)
// Dieser Code wird beim ersten Starten der Anwendung nicht ausgeführt
private void Application_Activated(object sender, ActivatedEventArgs e)
{
}
// Code, der ausgeführt werden soll, wenn die Anwendung deaktiviert wird (in den Hintergrund gebracht wird)
// Dieser Code wird beim Schließen der Anwendung nicht ausgeführt
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
}
// Code, der beim Schließen der Anwendung ausgeführt wird (z. B. wenn der Benutzer auf "Zurück" klickt)
// Dieser Code wird beim Deaktivieren der Anwendung nicht ausgeführt
private void Application_Closing(object sender, ClosingEventArgs e)
{
}
// Code, der bei einem Navigationsfehler ausgeführt wird
private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached)
{
// Navigationsfehler. Unterbrechen und Debugger öffnen
System.Diagnostics.Debugger.Break();
}
}
// Code, der bei nicht behandelten Ausnahmen ausgeführt wird
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached)
{
// Eine nicht behandelte Ausnahme ist aufgetreten. Unterbrechen und Debugger öffnen
System.Diagnostics.Debugger.Break();
}
}
#region Initialisierung der Phone-Anwendung
// Doppelte Initialisierung vermeiden
private bool phoneApplicationInitialized = false;
// Fügen Sie keinen zusätzlichen Code zu dieser Methode hinzu
private void InitializePhoneApplication()
{
if (phoneApplicationInitialized)
return;
// Frame erstellen, aber noch nicht als RootVisual festlegen. Dadurch kann der Begrüßungsbildschirm
// aktiv bleiben, bis die Anwendung bereit für das Rendern ist.
RootFrame = new PhoneApplicationFrame();
RootFrame.Navigated += CompleteInitializePhoneApplication;
// Navigationsfehler behandeln
RootFrame.NavigationFailed += RootFrame_NavigationFailed;
// Sicherstellen, dass keine erneute Initialisierung erfolgt
phoneApplicationInitialized = true;
}
// Fügen Sie keinen zusätzlichen Code zu dieser Methode hinzu
private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
{
// Visuelle Stammkomponente festlegen, sodass die Anwendung gerendert werden kann
if (RootVisual != RootFrame)
RootVisual = RootFrame;
// Dieser Handler wird nicht mehr benötigt und kann entfernt werden
RootFrame.Navigated -= CompleteInitializePhoneApplication;
}
#endregion
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,52 @@
<phone:PhoneApplicationPage
x:Class="Währungrechner.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot ist das Stammraster, in dem alle anderen Seiteninhalte platziert werden-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--TitlePanel enthält den Namen der Anwendung und den Seitentitel-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="Wärungsumrechner" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Text="Umrechnen" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" FontSize="72"/>
</StackPanel>
<!--ContentPanel - zusätzliche Inhalte hier platzieren-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Von:" VerticalAlignment="Top" Margin="10,15,0,0"/>
<TextBlock TextWrapping="Wrap" Text="Nach:" VerticalAlignment="Top" d:LayoutOverrides="Width" HorizontalAlignment="Left" Margin="10,77,0,0"/>
<ListBox x:Name="curseVon" Margin="120,10,10,0" VerticalAlignment="Top" BorderThickness="3" Height="52"/>
<ListBox x:Name="curseNach" Height="52" VerticalAlignment="Top" Margin="120,64,10,0" BorderThickness="3"/>
<TextBox x:Name="textBoxVon" Margin="110,113,0,0" TextWrapping="Wrap" VerticalAlignment="Top" d:LayoutOverrides="Width" InputScope="Number"/>
<TextBox x:Name="textBoxNach" TextWrapping="Wrap" VerticalAlignment="Top" d:LayoutOverrides="Width" Margin="110,174,1,0" InputScope="Number" IsReadOnly="True" />
<Button Content="Rechnen" d:LayoutOverrides="Height" VerticalAlignment="Top" Margin="10,242,10,0" Click="Button_Click" /></Grid>
</Grid>
<!--Beispielcode für die Verwendung von ApplicationBar-->
<!--<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Schaltfläche 1"/>
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Schaltfläche 2"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="Menüelement 1"/>
<shell:ApplicationBarMenuItem Text="Menüelement 2"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>-->
</phone:PhoneApplicationPage>

View File

@ -0,0 +1,76 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
namespace Währungrechner
{
public partial class MainPage : PhoneApplicationPage
{
private class Currency
{
public string name;
public double currency;
public Currency(string name, double currency)
{
this.name = name;
this.currency = currency;
}
}
// Konstruktor
public MainPage()
{
InitializeComponent();
InitList();
}
private void InitList()
{
Currency[] c = { new Currency("EUR", 1), new Currency("USD", 1.3636), new Currency("CHF", 1.2208)};
foreach (Currency cu in c)
{
ListBoxItem i1 = new ListBoxItem();
ListBoxItem i2 = new ListBoxItem();
i1.Tag = 1/cu.currency;
i2.Tag = cu.currency;
i1.Content = cu.name;
i2.Content = cu.name;
//i.IsSelected = true;
curseVon.Items.Add(i1);
curseNach.Items.Add(i2);
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
double toTmp = Convert.ToDouble(((ListBoxItem)curseVon.SelectedItem).Tag);
double toTarget = Convert.ToDouble(((ListBoxItem)curseNach.SelectedItem).Tag);
double tmp = Convert.ToDouble(textBoxVon.Text.Allowed("123456789,.")) * toTmp;
textBoxNach.Text = (tmp * toTarget).ToString();
}
}
}
public static class String
{
public static string Allowed(this string str, string allowed)
{
string ret = "";
for (int i = 0; i < str.Length; i++)
{
string tmp = str.Substring(i, 1);
if (allowed.Contains(tmp))
{
ret += tmp;
}
}
return ret;
}
}

View File

@ -0,0 +1,6 @@
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<Deployment.Parts>
</Deployment.Parts>
</Deployment>

View File

@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgende
// Attributgruppe gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("Währungrechner")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Währungrechner")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
[assembly: ComVisible(false)]
// Die folgende GUID ist für die ID der typelib, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("7f89d064-dc33-43fa-8060-974e48dcfa86")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die Standardwerte für Revisions- und Buildnummer verwenden
// übernehmen, indem Sie "*" wie folgt verwenden:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.0">
<App xmlns="" ProductID="{95b6834d-e8c9-4c18-af62-72c0ebed9e15}" Title="Währungrechner" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="Währungrechner author" Description="Sample description" Publisher="Währungrechner">
<IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
<Capabilities>
<Capability Name="ID_CAP_GAMERSERVICES"/>
<Capability Name="ID_CAP_IDENTITY_DEVICE"/>
<Capability Name="ID_CAP_IDENTITY_USER"/>
<Capability Name="ID_CAP_LOCATION"/>
<Capability Name="ID_CAP_MEDIALIB"/>
<Capability Name="ID_CAP_MICROPHONE"/>
<Capability Name="ID_CAP_NETWORKING"/>
<Capability Name="ID_CAP_PHONEDIALER"/>
<Capability Name="ID_CAP_PUSH_NOTIFICATION"/>
<Capability Name="ID_CAP_SENSORS"/>
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
</Capabilities>
<Tasks>
<DefaultTask Name ="_default" NavigationPage="MainPage.xaml"/>
</Tasks>
<Tokens>
<PrimaryToken TokenID="WährungrechnerToken" TaskName="_default">
<TemplateType5>
<BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
<Count>0</Count>
<Title>Währungrechner</Title>
</TemplateType5>
</PrimaryToken>
</Tokens>
</App>
</Deployment>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.20506</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{42E4DDE8-6879-4DDE-A03D-6EEDB4FAD3E8}</ProjectGuid>
<ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Währungrechner</RootNamespace>
<AssemblyName>Währungrechner</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
<TargetFrameworkProfile>WindowsPhone</TargetFrameworkProfile>
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
<SilverlightApplication>true</SilverlightApplication>
<SupportedCultures>
</SupportedCultures>
<XapOutputs>true</XapOutputs>
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
<XapFilename>Währungrechner.xap</XapFilename>
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
<SilverlightAppEntry>Währungrechner.App</SilverlightAppEntry>
<ValidateXaml>true</ValidateXaml>
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Phone" />
<Reference Include="Microsoft.Phone.Interop" />
<Reference Include="System.Windows" />
<Reference Include="system" />
<Reference Include="System.Core" />
<Reference Include="System.Net" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
</Compile>
<Compile Include="MainPage.xaml.cs">
<DependentUpon>MainPage.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</ApplicationDefinition>
<Page Include="MainPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<None Include="Properties\AppManifest.xml" />
<None Include="Properties\WMAppManifest.xml" />
</ItemGroup>
<ItemGroup>
<Content Include="ApplicationIcon.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Background.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="SplashScreenImage.jpg" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.$(TargetFrameworkProfile).Overrides.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<ProjectExtensions />
</Project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<FullDeploy>false</FullDeploy>
</PropertyGroup>
</Project>