Skip to content

Commit a1d199d

Browse files
committed
Merge branch 'punker76-HamburgerMenu-Content-Binding-fix' into develop
2 parents 7fcc6b7 + ae0f648 commit a1d199d

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

src/MahApps.Metro.Samples/MahApps.Metro.Demo/MahApps.Metro.Demo.Shared/ExampleViews/HamburgerMenuSample.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
Margin="20"
5656
Foreground="White"
5757
HamburgerWidth="48"
58+
Content="{Binding RelativeSource={RelativeSource Self}, Mode=OneWay, Path=SelectedItem}"
5859
ItemClick="HamburgerMenu_OnItemClick"
5960
ItemTemplate="{StaticResource HamburgerMenuImageItem}"
6061
OptionsItemClick="HamburgerMenu_OnOptionsItemClick"

src/MahApps.Metro.Samples/MahApps.Metro.Demo/MahApps.Metro.Demo.Shared/ExampleViews/HamburgerMenuSample.xaml.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,15 @@ public HamburgerMenuSample()
1313

1414
private void HamburgerMenu_OnItemClick(object sender, ItemClickEventArgs e)
1515
{
16-
HamburgerMenuControl.Content = e.ClickedItem;
16+
// instead using binding Content="{Binding RelativeSource={RelativeSource Self}, Mode=OneWay, Path=SelectedItem}"
17+
// we can do this
18+
//HamburgerMenuControl.Content = e.ClickedItem;
19+
20+
// close the menu if a item was selected
21+
if (this.HamburgerMenuControl.IsPaneOpen)
22+
{
23+
this.HamburgerMenuControl.IsPaneOpen = false;
24+
}
1725
}
1826

1927
private async void HamburgerMenu_OnOptionsItemClick(object sender, ItemClickEventArgs e)

src/MahApps.Metro/MahApps.Metro.Shared/Controls/HamburgerMenu/HamburgerMenu.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public override void OnApplyTemplate()
7070

7171
private void HamburgerMenu_Loaded(object sender, RoutedEventArgs e)
7272
{
73-
this.Content = _buttonsListView?.SelectedItem ?? _optionsListView?.SelectedItem;
73+
this.SetCurrentValue(ContentProperty, _buttonsListView?.SelectedItem ?? _optionsListView?.SelectedItem);
7474
}
7575
}
7676
}

0 commit comments

Comments
 (0)