Skip to content

Commit 97df0cf

Browse files
committed
add cool styling
1 parent f8f02c6 commit 97df0cf

3 files changed

Lines changed: 61 additions & 15 deletions

File tree

src/DynamoCoreWpf/UI/Converters.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4310,4 +4310,20 @@ public object ConvertBack(object value, Type targetType, object parameter, Cultu
43104310
return Binding.DoNothing;
43114311
}
43124312
}
4313+
4314+
public class LengthToVisibilityConverter : IValueConverter
4315+
{
4316+
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
4317+
{
4318+
if (value is int length)
4319+
return length > 0 ? Visibility.Collapsed : Visibility.Visible;
4320+
4321+
return Visibility.Visible;
4322+
}
4323+
4324+
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
4325+
{
4326+
throw new NotImplementedException();
4327+
}
4328+
}
43134329
}

src/DynamoCoreWpf/UI/Themes/Modern/DynamoConverters.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,4 +176,5 @@
176176
<controls:PortTypeToStringConverter x:Key="PortTypeToStringConverter" />
177177
<controls:BooleanNegationConverter x:Key="BooleanNegationConverter" />
178178
<controls:LeftMarginConverter x:Key="LeftMarginConverter" />
179+
<controls:LengthToVisibilityConverter x:Key="LengthToVisibilityConverter" />
179180
</ResourceDictionary>

src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml

Lines changed: 44 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
xmlns:ui="clr-namespace:Dynamo.UI;assembly=DynamoCoreWpf"
77
xmlns:local="clr-namespace:Dynamo.PackageManager.UI;assembly=DynamoCoreWpf"
88
xmlns:dynconverters="clr-namespace:Dynamo.Controls;assembly=DynamoCoreWpf"
9+
xmlns:resxother="clr-namespace:Dynamo.Wpf.Properties;assembly=DynamoCoreWpf"
910
mc:Ignorable="d"
1011
WindowStyle="None"
1112
AllowsTransparency="True"
@@ -40,6 +41,7 @@
4041
</Style>
4142
<dynconverters:BoolToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
4243
<dynconverters:InverseBoolToVisibilityConverter x:Key="InverseBooleanToVisibilityConverter"/>
44+
<dynconverters:LengthToVisibilityConverter x:Key="LengthToVisibilityConverter"/>
4345
</ResourceDictionary>
4446
</Window.Resources>
4547

@@ -160,21 +162,48 @@
160162
</Style>
161163
</ComboBox.Style>
162164
<ComboBox.Tag>
163-
<TextBox x:Name="AutoCompleteSearchBox"
164-
HorizontalAlignment="Stretch"
165-
Height="24"
166-
Margin="16,5,16,5"
167-
Padding="2"
168-
Width="Auto"
169-
Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType=ComboBox}}"
170-
Background="{Binding Background, RelativeSource={RelativeSource AncestorType=ComboBox}}"
171-
FontFamily="{Binding FontFamily, RelativeSource={RelativeSource AncestorType=ComboBox}}"
172-
CaretBrush="{Binding Foreground, RelativeSource={RelativeSource AncestorType=ComboBox}}"
173-
FontSize="14">
174-
<TextBox.Text>
175-
<Binding Path="SearchInput" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" />
176-
</TextBox.Text>
177-
</TextBox>
165+
<Grid>
166+
<TextBox x:Name="AutoCompleteSearchBox"
167+
HorizontalAlignment="Stretch"
168+
Height="28"
169+
Margin="7,3,7,3"
170+
Padding="2"
171+
Width="Auto"
172+
BorderThickness="0,0,0,1"
173+
Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType=ComboBox}}"
174+
Background="{Binding Background, RelativeSource={RelativeSource AncestorType=ComboBox}}"
175+
FontFamily="{Binding FontFamily, RelativeSource={RelativeSource AncestorType=ComboBox}}"
176+
CaretBrush="{Binding Foreground, RelativeSource={RelativeSource AncestorType=ComboBox}}"
177+
FontSize="14">
178+
<TextBox.Text>
179+
<Binding Path="SearchInput" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" />
180+
</TextBox.Text>
181+
</TextBox>
182+
183+
<StackPanel x:Name="PlaceholderPanel"
184+
Orientation="Horizontal"
185+
VerticalAlignment="Center"
186+
IsHitTestVisible="False"
187+
HorizontalAlignment="Stretch"
188+
Height="28"
189+
Margin="12,3,7,3"
190+
Width="Auto"
191+
Visibility="{Binding Text.Length, ElementName=AutoCompleteSearchBox, Converter={StaticResource LengthToVisibilityConverter}}">
192+
<Image x:Name="SearchIcon"
193+
Width="20px"
194+
Height="20px"
195+
HorizontalAlignment="Left"
196+
VerticalAlignment="Center"
197+
DockPanel.Dock="Left">
198+
<Image.Style>
199+
<Style TargetType="{x:Type Image}">
200+
<Setter Property="Source" Value="/DynamoCoreWpf;component/UI/Images/searchmagnifier.png" />
201+
</Style>
202+
</Image.Style>
203+
</Image>
204+
<TextBlock Padding="2" FontSize="14" Text="{x:Static resxother:Resources.LibraryViewSearchText}" Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType=ComboBox}}" VerticalAlignment="Center"/>
205+
</StackPanel>
206+
</Grid>
178207
</ComboBox.Tag>
179208
<ComboBox.ItemTemplate>
180209
<DataTemplate>

0 commit comments

Comments
 (0)