Explorar o código

Show local ip and port information in StatusBar

SenGao hai 3 semanas
pai
achega
85327af108

+ 12 - 2
Tools/AlarmInfoServerSim/ViewModels/StatusBarViewModel.cs

@@ -10,7 +10,10 @@ public partial class StatusBarViewModel : ObservableObject
     private readonly IInfoSendingService _infoSendingService;
 
     [ObservableProperty]
-    private string _status;
+    private string _localIp;
+
+    [ObservableProperty]
+    private string _localPort;
 
     [ObservableProperty]
     private string _remoteIp;
@@ -18,6 +21,9 @@ public partial class StatusBarViewModel : ObservableObject
     [ObservableProperty]
     private string _remotePort;
 
+    [ObservableProperty]
+    private string _status;
+
     public StatusBarViewModel(ILogService logService, ISharedConfig sharedConfig, IInfoSendingService sendInfoService)
     {
         _logService = logService;
@@ -25,9 +31,13 @@ public partial class StatusBarViewModel : ObservableObject
         _infoSendingService = sendInfoService;
         _infoSendingService.ConnectionChanged += OnConnectionChanged;
 
-        _status = "Disconnected";
+        _localIp = _sharedConfig.BasicInfo!.RTServerAddress!;
+        _localPort = _sharedConfig.BasicInfo!.RTServerPort!.ToString();
         _remoteIp = "Unknown";
         _remotePort = "Unknown";
+        _status = "Disconnected";
+
+
     }
 
     private void OnConnectionChanged(object? sender, (bool, UniversalNetFrame451.IO.TcpConnection) e)

+ 18 - 7
Tools/AlarmInfoServerSim/Views/StatusBar.xaml

@@ -6,26 +6,37 @@
              xmlns:local="clr-namespace:AlarmInfoServerSim.Views"
              xmlns:prism="http://prismlibrary.com/"
              prism:ViewModelLocator.AutoWireViewModel="True"
-             Width="600" Height="45" 
+             Width="600" Height="50" 
              mc:Ignorable="d">
     <Grid Background="#FFCECECE" Margin="5,0,5,0">
+        <Grid.RowDefinitions>
+            <RowDefinition Height="25"/>
+            <RowDefinition Height="25"/>
+        </Grid.RowDefinitions>
         <Grid.ColumnDefinitions>
             <ColumnDefinition Width="*"/>
             <ColumnDefinition Width="200"/>
             <ColumnDefinition Width="*"/>
         </Grid.ColumnDefinitions>
-        <StackPanel Grid.Column="0" Orientation="Horizontal">
-            <Label VerticalAlignment="Center" HorizontalAlignment="Center">Status: </Label>
-            <Label Content="{Binding Status}" HorizontalAlignment="Center" VerticalAlignment="Center"></Label>
+        <StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal">
+            <Label VerticalAlignment="Center" HorizontalAlignment="Center">Local IP: </Label>
+            <Label Content="{Binding LocalIp}" HorizontalAlignment="Center" VerticalAlignment="Center"></Label>
+        </StackPanel>
+        <StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal">
+            <Label HorizontalAlignment="Center" VerticalAlignment="Center">Local Port:</Label>
+            <Label Content="{Binding LocalPort}" HorizontalAlignment="Center" VerticalAlignment="Center"></Label>
         </StackPanel>
-        <StackPanel Grid.Column="1" Orientation="Horizontal">
+        <StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal">
             <Label HorizontalAlignment="Center" VerticalAlignment="Center">Remote IP:</Label>
             <Label Content="{Binding RemoteIp}" HorizontalAlignment="Center" VerticalAlignment="Center"></Label>
         </StackPanel>
-        <StackPanel Grid.Column="2" Orientation="Horizontal">
+        <StackPanel Grid.Row="1" Grid.Column="1" Orientation="Horizontal">
             <Label HorizontalAlignment="Center" VerticalAlignment="Center">Remote Port:</Label>
             <Label Content="{Binding RemotePort}" HorizontalAlignment="Center" VerticalAlignment="Center"></Label>
         </StackPanel>
-
+        <StackPanel Grid.Row="1" Grid.Column="2" Orientation="Horizontal">
+            <Label HorizontalAlignment="Center" VerticalAlignment="Center">Status:</Label>
+            <Label Content="{Binding Status}" HorizontalAlignment="Center" VerticalAlignment="Center"></Label>
+        </StackPanel>
     </Grid>
 </UserControl>