如何在MainWindow.xaml上显示我的IP地址?(我有一个可以显示IP地址的控制台应用程序。如何将控制台应用程序与XAML文件结合起来?需要一些指导和建议。谢谢!
XAML文件:
<Window x:Class="DisplayIP.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:DisplayIP"
mc:Ignorable="d"
Title="Display IP Address" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
</Grid>
</Window>
控制台应用程序的C#代码:
class Program
{
static void Main(string[] args)
{
NetworkInterface[] IF = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface Interface in IF)
{
if (Interface.NetworkInterfaceType == NetworkInterfaceType.Loopback) continue;
Console.WriteLine(" ");
Console.WriteLine(Interface.Description);
UnicastIPAddressInformationCollection UnicastIPInfoCol = Interface.GetIPProperties().UnicastAddresses;
foreach (UnicastIPAddressInformation UnicatIPInfo in UnicastIPInfoCol)
{
Console.WriteLine("The IP address is:{0}", UnicatIPInfo.Address);
Console.WriteLine("The Sub net is:{0}", UnicatIPInfo.IPv4Mask);
}
}
Console.ReadKey();
}
}
答案 0 :(得分:1)
一般来说,您希望拥有所有&#34;业务逻辑&#34;在你的情况下,在一个单独的方法(甚至类)中获取IP地址的代码片段。您的控制台应用程序应该只与用户通信,WPF应用程序也是如此。
所以,你将有2&#34;前端&#34;应用程序(WPF和控制台),用户可以使用它从后端代码(方法,类,命名空间或更大的应用程序 - 库)中获取业务逻辑。
所以,如果我是你,我会创建一个类(例如NetworkInfo),其中一个方法将返回有关地址和掩码的信息(关注单词return here here-该方法将数据返回给调用者,而不是在控制台上打印)。然后两个应用程序 - 控制台和WPF将从此类调用此方法,以获取所需的数据并相应地显示它 - 一个在控制台上使用Console.WriteLine,另一个在窗体或控件中使用XAML文件。