Umsetzung - Windows Forms-Anwendung in Windows Phone Slverlight

  • WP8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von kersten83.

    Umsetzung - Windows Forms-Anwendung in Windows Phone Slverlight

    Software: Microsoft Visual Studio Community 2015


    Hallo Alle,

    ich bin neu hier.

    Ich möchte eine Musik abspielen und versuche die Windows Forms-Anwendung in Windows Phone Slverlight umzusetzen. Dabei erhalte ich folgende Fehlermeldung:

    ,,Load“, „My.Computer“, ,, Label1.Text“ und ,, AudioPlayMode“

    Im Toolbox für Windows Phone Silverlight habe ich ,,label.text“ nicht gefunden und von daher „textbox.text“ hinzugefügt.

    Was mache ich da falsch?

    Gruß Kersten


    Windows Forms-Anwendung:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim cod As Integer
    3. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    4. cod = 0
    5. Label1.Text = "Eins"
    6. End Sub
    7. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    8. cod = 1
    9. My.Computer.Audio.Play("c:\music.wav", AudioPlayMode.WaitToComplete)
    10. End Sub
    11. Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
    12. If cod = 1 Then
    13. Label1.Text = "Music läuft"
    14. End If
    15. End Sub
    16. End Class


    Leere App (Windows Phone Silverlight)

    VB.NET-Quellcode

    1. '[MainPage.xaml.vb]
    2. Imports System
    3. Imports System.Threading
    4. Imports System.Windows.Controls
    5. Imports Microsoft.Phone.Controls
    6. Imports Microsoft.Phone.Shell
    7. Partial Public Class MainPage
    8. Inherits PhoneApplicationPage
    9. Dim cod As Integer
    10. ' Konstruktor
    11. Public Sub New()
    12. InitializeComponent()
    13. SupportedOrientations = SupportedPageOrientation.Portrait Or SupportedPageOrientation.Landscape
    14. End Sub
    15. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    16. cod = 0
    17. textBox.Text = "Eins"
    18. End Sub
    19. Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Click
    20. cod = 1
    21. My.Computer.Audio.Play("c:\music.wav", AudioPlayMode.WaitToComplete)
    22. End Sub
    23. Private Sub textBox_TextChanged(sender As Object, e As TextChangedEventArgs) Handles textBox.TextChanged
    24. If cod = 1 Then
    25. textBox.Text = "Music läuft"
    26. End If
    27. End Sub
    28. End Class
    29. '[/MainPage.xaml.vb]
    Hi,

    so geht das alles nicht. Windows (Phone) Apps werden ganz anders programmiert als Windows Forms-Anwendungen. Die Technologie ist noch ziemlich neu, während WinForms über 10 Jahre alt ist. ;)
    Nun gibt es viel dynamischere, hardwarebeschleunigte User Interfaces, Patterns für die Datentrennung (siehe MVVM etc.) und vor allem sind die ganzen Namespaces, Klassen und somit auch Funktionen ganz anders und weitläufiger.

    Mit dem My-Namespace geht da nichts. ;)
    Die schlechte Nachricht ist also: Du wirst nicht weit kommen, wenn Du diesen Ansatz verfolgst. Du musst Dich in die Technologie komplett einarbeiten und dann kannst Du Apps für alle Plattformen universell entwickeln.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Hi,

    Danke für die Rückmeldung.
    Ich habe womöglich ausgedrückt meine Frage falsch formuliert.
    Ich möchte einfach wissen, wie die Umsetzung aussehen soll. Klar, muss ich mich in die Technologie einarbeiten und neu lernen.
    Ich habe im Internet erst einmal die Informationen gesammelt und gelesen.
    Bei PhoneApp werden die Code XAML und VB.NET kombiniert, so dass ich darauf achten muss, dass alles übereinstimmt.

    Nun brauche ich Deine Hilfe:

    Wo füge ich „cod=0“ und „media.[Stop]()“ in die Start-Initialisierung ein?
    Kannst Du bitte die beiden dem Code zuordnen bzw. ergänzen

    Gruß
    Kersten

    VB.NET-Quellcode

    1. Public NotInheritable Class MainPage
    2. Inherits Page
    3. Protected Overrides Sub OnNavigatedTo(e As Navigation.NavigationEventArgs)
    4. End Sub
    5. Dim cod As Integer
    6. 'cod = 0
    7. 'media.[Stop]()
    8. Private Sub Start(sender As Object, e As RoutedEventArgs)
    9. cod = 1
    10. If cod = 1 Then
    11. media.Play()
    12. End If
    13. End Sub
    14. Private Sub textlabel(sender As Object, e As RoutedEventArgs)
    15. If cod = 1 Then
    16. txtlabel.Content = "Music läuft"
    17. End If
    18. End Sub
    19. End Class

    Hallo Alle,

    ich bin ein Stück weiter gekommen.
    Den Code habe ich innerhalb der Klasse „New“ anstatt „MainPage“ergänzt, obwohl im XAML „App2.MainPage“ klassifiziert ist (?).
    In der im Start-Klasse für das Abspielen würde „media.source“ hinzugefügt. Hat funktioniert!


    VB.NET-Quellcode

    1. Public Sub New()
    2. 'Public Sub MainPage() ' funktiniert nicht!
    3. InitializeComponent()
    4. cod = 0
    5. media.[Stop]()
    6. End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kersten83“ ()