在 WPF MainWindow.xaml 中显示 IP 地址



如何在 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();
}

}

通常,您希望在单独的方法(甚至类)中拥有所有"业务逻辑",该代码段在单独的方法(甚至类)中获取IP地址。控制台应用程序应仅与用户通信,WPF 应用程序也是如此。

因此,您将拥有 2 个"前端"应用程序(WPF 和控制台),用户可以使用这些应用程序从后端代码段(方法、类、命名空间或更大的应用程序 - 库中)获取业务逻辑。

因此,如果我是你,我会创建一个类(例如 NetworkInfo),其中方法将返回有关地址和掩码的信息(此处关注单词 return - 该方法将数据返回给调用方,而不是在控制台上打印)。然后,两个应用程序(控制台应用程序和 WPF 应用程序)将从此类调用此方法,以获取所需的数据并相应地呈现它 - 一个在控制台上使用 Console.WriteLine,另一个在窗体或控件中使用 XAML 文件。

最新更新