Skip to content

Commit ca991df

Browse files
committed
tooltips
1 parent 938e16b commit ca991df

File tree

8 files changed

+77
-33
lines changed

8 files changed

+77
-33
lines changed

MaterialDesignColors.WpfExample/Buttons.xaml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@
7777
<wpfExample:Palette Grid.Row="0" Grid.Column="2" Margin="8 0 0 0"/>
7878
<StackPanel Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Orientation="Horizontal" Margin="0 8 0 0">
7979
<Button Style="{StaticResource MaterialDesignFloatingActionLightButton}"
80-
Margin="0 0 8 0" HorizontalAlignment="Left">
80+
Margin="0 0 8 0" HorizontalAlignment="Left"
81+
ToolTip="X">
8182
<Viewbox Width="24" Height="24">
8283
<Canvas Width="24" Height="24">
8384
<Path Data="M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M12.5,8H11V14L15.75,16.85L16.5,15.62L12.5,13.25V8M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72Z" Fill="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=Button}, Path=Foreground}" />
@@ -108,16 +109,20 @@
108109
</Canvas>
109110
</Viewbox>
110111
</Button>
111-
<Button HorizontalAlignment="Right" Style="{StaticResource MaterialDesignRaisedLightButton}" Margin="0 0 8 0" Width="80">
112+
<Button HorizontalAlignment="Right" Style="{StaticResource MaterialDesignRaisedLightButton}" Margin="0 0 8 0" Width="80"
113+
ToolTip="Resource name: MaterialDesignRaisedLightButton">
112114
LIGHT
113115
</Button>
114-
<Button HorizontalAlignment="Right" Style="{StaticResource MaterialDesignRaisedButton}" Margin="0 0 8 0" Width="80">
116+
<Button HorizontalAlignment="Right" Style="{StaticResource MaterialDesignRaisedButton}" Margin="0 0 8 0" Width="80"
117+
ToolTip="Resource name: MaterialDesignRaisedButton">
115118
MID
116119
</Button>
117-
<Button HorizontalAlignment="Right" Style="{StaticResource MaterialDesignRaisedDarkButton}" Margin="0 0 8 0" Width="80">
120+
<Button HorizontalAlignment="Right" Style="{StaticResource MaterialDesignRaisedDarkButton}" Margin="0 0 8 0" Width="80"
121+
ToolTip="Resource name: MaterialDesignRaisedLightDarkButton">
118122
DARK
119123
</Button>
120-
<Button HorizontalAlignment="Right" Style="{StaticResource MaterialDesignRaisedAccentButton}" Margin="0 0 8 0" Width="80">
124+
<Button HorizontalAlignment="Right" Style="{StaticResource MaterialDesignRaisedAccentButton}" Margin="0 0 8 0" Width="80"
125+
ToolTip="Resource name: MaterialDesignRaisedAccentButton">
121126
ACCENT
122127
</Button>
123128
</StackPanel>

MaterialDesignColors.WpfExample/ProvingGround.xaml

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -51,40 +51,22 @@
5151
</ResourceDictionary.MergedDictionaries>
5252

5353

54+
55+
5456

5557
</ResourceDictionary>
5658

5759
</UserControl.Resources>
5860

5961
<Grid>
60-
<Grid.ColumnDefinitions>
61-
<ColumnDefinition Width="1*" />
62-
<ColumnDefinition Width="1*" />
63-
</Grid.ColumnDefinitions>
64-
<ScrollViewer>
65-
<ItemsControl>
66-
<system:String>ghg</system:String>
67-
<system:String>ghg</system:String>
68-
<system:String>ghg</system:String>
69-
<system:String>ghg</system:String>
70-
<system:String>ghg</system:String>
71-
<system:String>ghg</system:String>
72-
<system:String>ghg</system:String>
73-
<system:String>ghg</system:String>
74-
<system:String>ghg</system:String>
75-
<system:String>ghg</system:String>
76-
<system:String>ghg</system:String>
77-
<system:String>ghg</system:String>
78-
<system:String>ghg</system:String>
79-
<system:String>ghg</system:String>
80-
<system:String>ghg</system:String>
81-
<system:String>ghg</system:String>
82-
<system:String>ghg</system:String>
83-
<system:String>ghg</system:String>
84-
<system:String>ghg</system:String>
85-
<system:String>ghg</system:String>
86-
</ItemsControl>
87-
</ScrollViewer>
62+
<Button>
63+
<Button.ToolTip>
64+
<ToolTip>
65+
<TextBlock>And here is your tooltip.</TextBlock>
66+
</ToolTip>
67+
</Button.ToolTip>
68+
Hello World
69+
</Button>
8870
</Grid>
8971

9072
</UserControl>

MaterialDesignThemes.Wpf/MaterialDesignThemes.Wpf.csproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,10 @@
164164
<SubType>Designer</SubType>
165165
<Generator>MSBuild:Compile</Generator>
166166
</Page>
167+
<Page Include="Themes\MaterialDesignTheme.ToolTip.xaml">
168+
<SubType>Designer</SubType>
169+
<Generator>MSBuild:Compile</Generator>
170+
</Page>
167171
</ItemGroup>
168172
<ItemGroup>
169173
<Compile Include="Card.cs" />
@@ -206,6 +210,7 @@
206210
<Compile Include="TextField.cs" />
207211
<Compile Include="Converters\TextFieldHintVisibilityConverter.cs" />
208212
<Compile Include="TimePicker.cs" />
213+
<Compile Include="ToolTipAssist.cs" />
209214
<Compile Include="VisualFeedbackContentControl.cs" />
210215
<EmbeddedResource Include="Properties\Resources.resx">
211216
<Generator>ResXFileCodeGenerator</Generator>

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Dark.xaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,6 @@
1717
<SolidColorBrush x:Key="MaterialDesignDivider" Color="#616161" />
1818
<SolidColorBrush x:Key="MaterialDesignSelection" Color="#757575" />
1919

20+
<SolidColorBrush x:Key="MaterialDesignToolTipBackground" Color="#eeeeee" />
21+
2022
</ResourceDictionary>

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Defaults.xaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.textbox.xaml" />
2222
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.togglebutton.xaml" />
2323
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ToolBar.xaml" />
24+
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ToolTip.xaml" />
2425
</ResourceDictionary.MergedDictionaries>
2526
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource MaterialDesignRaisedButton}" />
2627
<Style TargetType="{x:Type Calendar}" BasedOn="{StaticResource MaterialDesignCalendarPortrait}" />
@@ -43,6 +44,7 @@
4344
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource MaterialDesignTextBox}" />
4445
<Style TargetType="{x:Type ToggleButton}" BasedOn="{StaticResource MaterialDesignSwitchToggleButton}" />
4546
<Style TargetType="{x:Type ToolBar}" BasedOn="{StaticResource MaterialDesignToolBar}" />
47+
<Style TargetType="{x:Type ToolTip}" BasedOn="{StaticResource MaterialDesignToolTip}" />
4648
<Style TargetType="{x:Type Menu}" BasedOn="{StaticResource MaterialDesignMenu}" />
4749
<Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource MaterialDesignMenuItem}" />
4850
<Style x:Key="{x:Static MenuItem.SeparatorStyleKey}" TargetType="{x:Type Separator}" BasedOn="{StaticResource MaterialDesignSeparator}" />

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Light.xaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,6 @@
1616
<SolidColorBrush x:Key="MaterialDesignDivider" Color="#FFB6B6B6" />
1717
<SolidColorBrush x:Key="MaterialDesignSelection" Color="#FFDeDeDe" />
1818

19+
<SolidColorBrush x:Key="MaterialDesignToolTipBackground" Color="#757575" />
20+
1921
</ResourceDictionary>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3+
xmlns:wpf="clr-namespace:MaterialDesignThemes.Wpf">
4+
<Style TargetType="{x:Type ToolTip}" x:Key="MaterialDesignToolTip">
5+
<Setter Property="Foreground" Value="{DynamicResource MaterialDesignPaper}" />
6+
<Setter Property="Background" Value="{DynamicResource MaterialDesignToolTipBackground}" />
7+
<Setter Property="Padding" Value="8" />
8+
<Setter Property="Placement" Value="Custom" />
9+
<Setter Property="CustomPopupPlacementCallback" Value="{x:Static wpf:ToolTipAssist.CustomPopupPlacementCallback}" />
10+
<Setter Property="Template">
11+
<Setter.Value>
12+
<ControlTemplate TargetType="{x:Type ToolTip}">
13+
<Border Background="{TemplateBinding Background}" CornerRadius="2">
14+
<ContentPresenter x:Name="ContentPresenter"
15+
Margin="{TemplateBinding Padding}"
16+
Content="{TemplateBinding ContentControl.Content}" ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}" ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat}">
17+
</ContentPresenter>
18+
</Border>
19+
</ControlTemplate>
20+
</Setter.Value>
21+
</Setter>
22+
</Style>
23+
</ResourceDictionary>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using System.Windows;
7+
using System.Windows.Controls.Primitives;
8+
9+
namespace MaterialDesignThemes.Wpf
10+
{
11+
public static class ToolTipAssist
12+
{
13+
public static CustomPopupPlacementCallback CustomPopupPlacementCallback => CustomPopupPlacementCallbackImpl;
14+
15+
public static CustomPopupPlacement[] CustomPopupPlacementCallbackImpl(Size popupSize, Size targetSize, Point offset)
16+
{
17+
return new []
18+
{
19+
new CustomPopupPlacement(new Point(targetSize.Width/2 - popupSize.Width/2, targetSize.Height + 14), PopupPrimaryAxis.Horizontal)
20+
};
21+
}
22+
}
23+
}

0 commit comments

Comments
 (0)