2017-02-14 1 views
0

RésoluRun C# code lorsque le bouton cliqué dans Blend Visual Studio 2015

J'ai cherché pendant un certain temps et ne pouvait pas trouver une réponse, donc je suppose que cela vous aidera peu plus de gens.

J'ai trouvé blend est un endroit génial pour faire une belle interface utilisateur.

J'ai fait un button simple mélange de Visual Studio 2015.

Le XAML de ce bouton ressemble à ceci:

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:local="clr-namespace:WpfApplication1" 
     mc:Ignorable="d" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Button x:Name="button" Content="Button" Margin="56.471,79.283,54.639,68.382"/> 

    </Grid> 
</Window> 

et le fichier cs ressemble à ceci:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Data; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Imaging; 
using System.Windows.Navigation; 
using System.Windows.Shapes; 
using System.Net; 
using System.IO; 
namespace WpfApplication1 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
     } 

     private void button_Click(object sender, RoutedEventArgs e) 
     { 
    WebRequest request =WebRequest.Create("http://www.example.com");  
    WebResponse response = request.GetResponse(); 
    Stream dataStream = response.GetResponseStream(); 
    StreamReader reader = new StreamReader(dataStream); 
    string responseFromServer = reader.ReadToEnd(); 
    MessageBox.Show(responseFromServer); 
     } 
    } 
} 

Maintenant, quand je clique sur le bouton, je l'ai aimé exécuter le code suivant pour lire l'URL (qui est écrit en C#)

 WebRequest request = WebRequest.Create("http://www.example.com"); 
     WebResponse response = request.GetResponse(); 
     Stream dataStream = response.GetResponseStream(); 
     StreamReader reader = new StreamReader(dataStream); 
     string responseFromServer = reader.ReadToEnd(); 
     MessageBox.Show(responseFromServer); 

Je suis assez nouveau en C# et je ne suis pas sûr de savoir comment combiner un code avec un fichier XAML.

Si quelqu'un peut montrer comment l'implémenter, ce sera génial.

Merci.

+1

Vous devez simplement être en mesure de remplacer simplement 'Console.WriteLine (« yo man »)' avec le code que vous voulez exécuter, lorsque le bouton est pressé. Avez-vous essayé ceci ou y a-t-il une raison pour que cela ne fonctionne pas pour vous? –

+0

Hey mec, désolé, c'était ma mauvaise partie du code juste pour vérifier si je sais même pas imprimer un message. J'ai essayé d'insérer la chose readurl mais j'ai des problèmes avec 'WebClient' même après' using System.Net' – Ben

+0

Pas besoin de m'excuser. Pourriez-vous modifier votre question pour inclure les erreurs de compilation que vous pourriez avoir lors de l'insertion de votre code 'WebClient'? –

Répondre

0

Peut-être que je manque quelque chose, mais il ne semble pas être câblé.

<Grid> 
    <Button x:Name="button" Content="Button" Margin="56.471,79.283,54.639,68.382" Click="button_Click"/> 
</Grid> 

Puis dans le code derrière

private void button_Click(object sender, RoutedEventArgs e) 
    { 
     using (WebClient client = new WebClient()) 
     { 
      string s = client.DownloadString(url); 
     } 
    } 
+0

Le câblage a probablement été traité dans le code généré par VS dans la méthode 'InitializeComponent'. –