Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions ModernFlyouts/Controls/AirplaneModeControl.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
Height="64" d:DesignWidth="354" DataContext="{x:Static root:FlyoutHandler.Instance}">

<StackPanel DataContext="{Binding AirplaneModeFlyoutHelper.AirplaneMode}"
Orientation="Horizontal" HorizontalAlignment="Center">
<ui:FontIcon d:Glyph="{x:Static utils:CommonGlyphs.Info}" FontSize="24">
Orientation="Horizontal" HorizontalAlignment="Center" Name="MainStackPanel">
<ui:FontIcon d:Glyph="{x:Static utils:CommonGlyphs.Info}" FontSize="24" Name="AirplaneStatusGlyph">
<ui:FontIcon.Glyph>
<Binding>
<Binding.Converter>
Expand All @@ -27,13 +27,13 @@

<TextBlock HorizontalAlignment="Left" VerticalAlignment="Center"
Style="{DynamicResource BaseTextBlockStyle}" FontSize="18"
Margin="20" d:Text="{x:Static resx:Strings.AirplaneMode_NotAvailable}">
Margin="20" d:Text="{x:Static resx:Strings.AirplaneMode_NotAvailable}" Name="AirplaneStatusText">
<TextBlock.Text>
<Binding>
<Binding BindsDirectlyToSource="True" IsAsync="True" Mode="OneWay">
<Binding.Converter>
<toolkit:BoolToObjectConverter
TrueValue="{x:Static resx:Strings.AirplaneModeOn}"
FalseValue="{x:Static resx:Strings.AirplaneModeOff}" />
TrueValue="{x:Static resx:Strings.AirplaneModeOn}"
FalseValue="{x:Static resx:Strings.AirplaneModeOff}" />
</Binding.Converter>
</Binding>
</TextBlock.Text>
Expand Down
10 changes: 9 additions & 1 deletion ModernFlyouts/Controls/AirplaneModeControl.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
using System.Windows.Controls;
using ModernWpf.Controls;
using System.ComponentModel;
using System.Windows.Controls;
using System.Windows.Data;

namespace ModernFlyouts.Controls
{
Expand All @@ -8,5 +11,10 @@ public AirplaneModeControl()
{
InitializeComponent();
}

public void InvalidateProperties()
{
BindingOperations.GetBindingExpression(MainStackPanel, StackPanel.DataContextProperty).UpdateTarget();
}
}
}
4 changes: 2 additions & 2 deletions ModernFlyouts/Controls/LockKeysControl.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@

<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<ui:FontIcon Glyph="{Binding LockKeysFlyoutHelper.StatusGlyph}"
d:Glyph="{x:Static utils:CommonGlyphs.Lock}" FontSize="24" />
d:Glyph="{x:Static utils:CommonGlyphs.Lock}" FontSize="24" Name="LockStatusGlyph" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Center"
Style="{DynamicResource BaseTextBlockStyle}" FontSize="18"
Margin="20" Text="{Binding LockKeysFlyoutHelper.StatusText}"
d:Text="Lock key is on" />
d:Text="Lock key is on" Name="LockStatusText" />
</StackPanel>

</UserControl>
10 changes: 9 additions & 1 deletion ModernFlyouts/Controls/LockKeysControl.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
using System.Windows.Controls;
using ModernWpf.Controls;
using System.Windows.Controls;
using System.Windows.Data;

namespace ModernFlyouts.Controls
{
Expand All @@ -8,5 +10,11 @@ public LockKeysControl()
{
InitializeComponent();
}

public void InvalidateProperties()
{
BindingOperations.GetBindingExpression(LockStatusText, TextBlock.TextProperty).UpdateTarget();
BindingOperations.GetBindingExpression(LockStatusGlyph, FontIcon.GlyphProperty).UpdateTarget();
}
}
}
6 changes: 5 additions & 1 deletion ModernFlyouts/Flyout Helpers/AirplaneModeFlyoutHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ public class AirplaneModeFlyoutHelper : FlyoutHelperBase
public bool AirplaneMode
{
get => airplaneMode;
private set => SetProperty(ref airplaneMode, value);
private set
{
SetProperty(ref airplaneMode, value);
airplaneModeControl.InvalidateProperties();
}
}

#endregion
Expand Down
6 changes: 5 additions & 1 deletion ModernFlyouts/Flyout Helpers/LockKeysFlyoutHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ public class LockKeysFlyoutHelper : FlyoutHelperBase
public string StatusGlyph
{
get => statusGlyph;
private set => SetProperty(ref statusGlyph, value);
private set
{
SetProperty(ref statusGlyph, value);
lockKeysControl.InvalidateProperties();
}
}

private string statusText = string.Empty;
Expand Down
16 changes: 10 additions & 6 deletions ModernFlyouts/FlyoutHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -218,13 +218,17 @@ private void AirplaneModeWatcher_Changed(object sender, AirplaneModeChangedEvent

private void Instance_DisplayUpdated(object sender, EventArgs e)
{
if (!DisplayManager.Instance.DisplayMonitors.Any(x => x == onScreenFlyoutPreferredMonitor))
{
_savePreferredMonitor = false;
_savePreferredMonitor = false;
var preferred_monitor = AppDataHelper.PreferredDisplayMonitorId;
var monitors = DisplayManager.Instance.DisplayMonitors
.Where(x => x.DeviceId == preferred_monitor)
.Select(x => x);
if (!monitors.Any())
OnScreenFlyoutPreferredMonitor = DisplayManager.Instance.PrimaryDisplayMonitor;
AlignFlyout();
_savePreferredMonitor = true;
}
else
OnScreenFlyoutPreferredMonitor = monitors.First();
AlignFlyout();
_savePreferredMonitor = true;
}

private void CreateOnScreenFlyoutWindow()
Expand Down