У меня есть консольное приложение, которое я теперь хочу сделать в приложении WPF. Я новичок в WPF, поэтому я не уверен, куда идти отсюда. Я в настоящее время имеют следующие функции для запуска сервера:Метод привязки к кнопке в WPF
public static void StartListening(string[] prefixes)
{
HttpListener listener = new HttpListener();
if (prefixes == null || prefixes.Length == 0)
throw new ArgumentException("prefixes");
foreach (string s in prefixes)
{
listener.Prefixes.Add("http://" + s + "/");
}
listener.Start();
Console.WriteLine("\nListening...");
listener.BeginGetContext(new AsyncCallback(OnRequest), listener);
}
Теперь я хочу, чтобы иметь возможность сделать это в WPF с одним нажатием кнопки. У меня уже есть следующее в моем MainWindow.xaml.cs, но я мог бы использовать намек на то, как привязать StartServerButton_Click к моему методу StartListening(). Я смотрел на использование ICommand, но это просто похоже на слишком сложное решение этой довольно простой проблемы.
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
try
{
IPAddress[] addrs = Array.FindAll(Dns.GetHostEntry(string.Empty).AddressList,
a => a.AddressFamily == AddressFamily.InterNetwork);
ServerOutputTextBox.AppendText("Your IPv4 address is: ");
foreach (IPAddress addr in addrs)
{
ServerOutputTextBox.AppendText(addr.ToString());
}
//Automatically set the IP address
string[] ips = addrs.Select(ip => ip.ToString()).ToArray();
Response.StartListening(ips);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
private void StartServerButton_Click(object sender, RoutedEventArgs e)
{
}
Не так много WPFish. У вас может быть модель (ваш сервер или лучше его _view_) и команды для взаимодействия с ней ... –