diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj index b82ef3c61f..4f7e7d5935 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj @@ -146,6 +146,7 @@ <Compile Include="Src\SharpDevelopCompletionWindow.cs" /> <Compile Include="Src\SharpDevelopInsightWindow.cs"> </Compile> + <Compile Include="Src\StringToVisibilityConverter.cs" /> <Compile Include="Src\SyntaxModeDoozer.cs" /> <Compile Include="Src\TextMarkerService.cs" /> <EmbeddedResource Include="Resources\IncrementalSearchCursor.cur" /> diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SharpDevelopCompletionWindow.xaml b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SharpDevelopCompletionWindow.xaml index 5d0cada41a..4f70ddee9e 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SharpDevelopCompletionWindow.xaml +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/SharpDevelopCompletionWindow.xaml @@ -6,6 +6,8 @@ Style="{x:Static core:GlobalStyles.WindowStyle}" > <Window.Resources> + <local:StringToVisibilityConverter x:Key="StringToVisibilityConverter" /> + <Style TargetType="cc:CompletionListBox" BasedOn="{StaticResource {x:Type ListBox}}"> <Style.Triggers> <DataTrigger @@ -18,7 +20,9 @@ <TextBlock Text="{Binding EmptyText, RelativeSource={RelativeSource AncestorType={x:Type local:SharpDevelopCompletionWindow}, AncestorLevel=1}}" FontStyle="Italic" Foreground="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" - TextWrapping="WrapWithOverflow"/> + TextWrapping="WrapWithOverflow" + Visibility="{Binding EmptyText, RelativeSource={RelativeSource AncestorType={x:Type local:SharpDevelopCompletionWindow}, AncestorLevel=1}, + Converter={StaticResource StringToVisibilityConverter}}" /> </ControlTemplate> </Setter.Value> </Setter> diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/StringToVisibilityConverter.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/StringToVisibilityConverter.cs new file mode 100644 index 0000000000..dd52cf2334 --- /dev/null +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/StringToVisibilityConverter.cs @@ -0,0 +1,29 @@ +// <file> +// <copyright see="prj:///doc/copyright.txt"/> +// <license see="prj:///doc/license.txt"/> +// <owner name="Martin Konicek" email="martin.konicek@gmail.com"/> +// <version>$Revision: $</version> +// </file> +using System; +using System.Globalization; +using System.Windows; +using System.Windows.Data; + +namespace ICSharpCode.AvalonEdit.AddIn +{ + [ValueConversion(typeof(string), typeof(Visibility))] + public class StringToVisibilityConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (!(value is string)) + return value == null ? Visibility.Collapsed : Visibility.Visible; + return string.IsNullOrEmpty((string)value) ? Visibility.Collapsed : Visibility.Visible; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + return null; + } + } +}