Просмотр исходного кода

Add NavSearch user control with viewModel

Dalibor Votruba 2 лет назад
Родитель
Сommit
06f674019a

+ 7 - 0
Workbench/QMonitor/qmonlib.ui/ViewModels/Navigator/NavSearchViewModel.cs

@@ -0,0 +1,7 @@
+namespace qmonlib.ui.ViewModels.Navigator
+{
+    public class NavSearchViewModel : ViewModelBase
+    {
+        public string? SearchText { get; set; }
+    }
+}

+ 10 - 7
Workbench/QMonitor/qmonlib.ui/Views/MainView.axaml

@@ -3,6 +3,7 @@
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:vm="clr-namespace:qmonlib.ui.ViewModels"
+             xmlns:vw-navigator="clr-namespace:qmonlib.ui.Views.Navigator"
              mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
              x:Class="qmonlib.ui.Views.MainView"
              x:DataType="vm:MainViewModel">
@@ -17,14 +18,16 @@
                CompactPaneLength="32"
                OpenPaneLength="296">
         <SplitView.Pane>
-            <Button VerticalAlignment="Top" Width="32" Height="32" HorizontalAlignment="Right">
-                <Button.Content>
-                    <Image Source="/Images/32/adjust.png" />
-                </Button.Content>
-            </Button>
-            <!-- Filter section -->
+            <Panel>
+                <Button VerticalAlignment="Top" Width="32" Height="32" HorizontalAlignment="Right">
+                    <Button.Content>
+                        <Image Source="/Images/32/adjust.png" />
+                    </Button.Content>
+                </Button>
+                <!-- Filter section -->
+                <vw-navigator:NavSearch />
+            </Panel>
         </SplitView.Pane>
-
         <!--[+]Split LVL 1-->
         <SplitView IsPaneOpen="true"
                    DisplayMode="Inline"

+ 20 - 0
Workbench/QMonitor/qmonlib.ui/Views/Navigator/NavSearch.axaml

@@ -0,0 +1,20 @@
+<UserControl xmlns="https://github.com/avaloniaui"
+             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:vm-navigator="clr-namespace:qmonlib.ui.ViewModels.Navigator"
+             x:DataType="vm-navigator:NavSearchViewModel"
+             mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
+             x:Class="qmonlib.ui.Views.Navigator.NavSearch"
+             x:CompileBindings="True">
+
+            <TextBox Name="tbSearch" 
+                     Text="{Binding SearchText}" 
+                     Watermark="Type pattern filter"
+                     >
+                <ToolTip.Tip>
+                    Put pattern like (use * for any character) string to filter requested values from list
+                </ToolTip.Tip>
+            </TextBox>
+             
+</UserControl>

+ 12 - 0
Workbench/QMonitor/qmonlib.ui/Views/Navigator/NavSearch.axaml.cs

@@ -0,0 +1,12 @@
+using Avalonia.Controls;
+
+namespace qmonlib.ui.Views.Navigator
+{
+    public partial class NavSearch : UserControl
+    {
+        public NavSearch()
+        {
+            InitializeComponent();
+        }
+    }
+}

+ 4 - 0
Workbench/QMonitor/qmonlib.ui/qmonlib.ui.csproj

@@ -30,4 +30,8 @@
     <AvaloniaResource Include="Images\32\adjust.png" />
     <AvaloniaResource Include="Images\32\log.png" />
   </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\qmonlib\qmonlib.csproj" />
+  </ItemGroup>
 </Project>