diff options
author | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2016-01-08 19:40:46 +0300 |
---|---|---|
committer | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2016-01-08 19:40:46 +0300 |
commit | 8e1476763f49932ee7520643793fe4550c2be231 (patch) | |
tree | 8d1d2bbb5f9fa0b35aa75353daf02521cc30cea8 /main/src/addins/WindowsPlatform | |
parent | 83cd4d04e0b9beefb6709ce3f64da13036de933d (diff) |
[Windows] Add tooltip to statusbar when ellipsized.
Diffstat (limited to 'main/src/addins/WindowsPlatform')
-rw-r--r-- | main/src/addins/WindowsPlatform/WindowsPlatform/MainToolbar/StatusBar.xaml | 3 | ||||
-rw-r--r-- | main/src/addins/WindowsPlatform/WindowsPlatform/MainToolbar/StatusBar.xaml.cs | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/main/src/addins/WindowsPlatform/WindowsPlatform/MainToolbar/StatusBar.xaml b/main/src/addins/WindowsPlatform/WindowsPlatform/MainToolbar/StatusBar.xaml index b941dd6179..7e103e69ba 100644 --- a/main/src/addins/WindowsPlatform/WindowsPlatform/MainToolbar/StatusBar.xaml +++ b/main/src/addins/WindowsPlatform/WindowsPlatform/MainToolbar/StatusBar.xaml @@ -44,7 +44,8 @@ Source="{Binding StatusImage}"
UseLayoutRounding="True"
MouseLeftButtonUp="OnShowPad" />
- <TextBlock Grid.Column="1"
+ <TextBlock x:Name="StatusText"
+ Grid.Column="1"
VerticalAlignment="Center"
Padding="7,1,0,2"
Foreground="{Binding StatusTextBrush}"
diff --git a/main/src/addins/WindowsPlatform/WindowsPlatform/MainToolbar/StatusBar.xaml.cs b/main/src/addins/WindowsPlatform/WindowsPlatform/MainToolbar/StatusBar.xaml.cs index dc1fabd45a..bba5020214 100644 --- a/main/src/addins/WindowsPlatform/WindowsPlatform/MainToolbar/StatusBar.xaml.cs +++ b/main/src/addins/WindowsPlatform/WindowsPlatform/MainToolbar/StatusBar.xaml.cs @@ -74,6 +74,16 @@ namespace WindowsPlatform.MainToolbar };
TaskService.Errors.TasksAdded += updateHandler;
TaskService.Errors.TasksRemoved += updateHandler;
+
+ StatusText.ToolTipOpening += (o, e) => {
+ e.Handled = !TextTrimmed ();
+ };
+ }
+
+ bool TextTrimmed ()
+ {
+ StatusText.Measure (new Size (double.PositiveInfinity, double.PositiveInfinity));
+ return StatusText.ActualWidth < StatusText.DesiredSize.Width;
}
public bool AutoPulse {
@@ -184,6 +194,7 @@ namespace WindowsPlatform.MainToolbar public void ShowMessage (IconId iconId, string message, bool isMarkup)
{
Message = message;
+ StatusText.ToolTip = message;
if (iconId.IsNull)
iconId = BrandingService.StatusSteadyIconId;
|