diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 6442a92ccc0..40970d5aab9 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -42,6 +42,7 @@ Windows 10 Build Number:
- [ ] April 2018 Update (17134)
- [ ] October 2018 Update (17763)
- [ ] May 2019 Update (18362)
+- [ ] November 2019 Update (18363)
- [ ] Insider Build (build number: )
App min and target version:
@@ -49,6 +50,7 @@ App min and target version:
- [ ] April 2018 Update (17134)
- [ ] October 2018 Update (17763)
- [ ] May 2019 Update (18362)
+- [ ] November 2019 Update (18363)
- [ ] Insider Build (xxxxx)
Device form factor:
diff --git a/Directory.Build.props b/Directory.Build.props
index 4f6d23454b8..f432e3aa803 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -15,7 +15,7 @@
$(MSBuildProjectName.Contains('Test'))$(MSBuildProjectName.Contains('Uwp'))$(MSBuildProjectName.Contains('Sample'))
- 17763
+ 1836216299$(MSBuildThisFileDirectory)bin\nupkg
diff --git a/GazeInputTest/GazeInputTest.csproj b/GazeInputTest/GazeInputTest.csproj
index a5a648e7b9b..31a82625a8f 100644
--- a/GazeInputTest/GazeInputTest.csproj
+++ b/GazeInputTest/GazeInputTest.csproj
@@ -11,7 +11,7 @@
GazeInputTesten-USUAP
- 10.0.17763.0
+ 10.0.18362.010.0.17134.014512
diff --git a/Microsoft.Toolkit.Uwp.Input.GazeInteraction/Microsoft.Toolkit.UWP.Input.GazeInteraction.vcxproj b/Microsoft.Toolkit.Uwp.Input.GazeInteraction/Microsoft.Toolkit.UWP.Input.GazeInteraction.vcxproj
index 74113867050..546b99e33e6 100644
--- a/Microsoft.Toolkit.Uwp.Input.GazeInteraction/Microsoft.Toolkit.UWP.Input.GazeInteraction.vcxproj
+++ b/Microsoft.Toolkit.Uwp.Input.GazeInteraction/Microsoft.Toolkit.UWP.Input.GazeInteraction.vcxproj
@@ -42,7 +42,7 @@
14.0trueWindows Store
- 10.0.17763.0
+ 10.0.18362.010.0.17134.010.0Microsoft.Toolkit.Uwp.Input.GazeInteraction
diff --git a/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj b/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj
index 0b2cf702e3a..d239fc15c33 100644
--- a/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj
+++ b/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj
@@ -48,7 +48,7 @@
nativeUAP,Version=v10.0uap10.0
- 10.0.17763.0
+ 10.0.18362.010.0.10240.0$(DefineConstants);NETFX_CORE;WINDOWS_UWP;WINRTfalse
diff --git a/Microsoft.Toolkit.Uwp.SampleApp/Microsoft.Toolkit.Uwp.SampleApp.csproj b/Microsoft.Toolkit.Uwp.SampleApp/Microsoft.Toolkit.Uwp.SampleApp.csproj
index d95e24c902f..00f2935b1f9 100644
--- a/Microsoft.Toolkit.Uwp.SampleApp/Microsoft.Toolkit.Uwp.SampleApp.csproj
+++ b/Microsoft.Toolkit.Uwp.SampleApp/Microsoft.Toolkit.Uwp.SampleApp.csproj
@@ -125,7 +125,7 @@
6.1.0-build.6
- 2.2.190917002
+ 2.3.2002130010.7.0-alpha
diff --git a/Microsoft.Toolkit.Uwp.Samples.BackgroundTasks/Microsoft.Toolkit.Uwp.Samples.BackgroundTasks.csproj b/Microsoft.Toolkit.Uwp.Samples.BackgroundTasks/Microsoft.Toolkit.Uwp.Samples.BackgroundTasks.csproj
index 22790daed6c..6782c958335 100644
--- a/Microsoft.Toolkit.Uwp.Samples.BackgroundTasks/Microsoft.Toolkit.Uwp.Samples.BackgroundTasks.csproj
+++ b/Microsoft.Toolkit.Uwp.Samples.BackgroundTasks/Microsoft.Toolkit.Uwp.Samples.BackgroundTasks.csproj
@@ -11,7 +11,7 @@
Microsoft.Toolkit.Uwp.Samples.BackgroundTasksfr-FRUAP
- 10.0.17763.0
+ 10.0.18362.010.0.16299.014512
diff --git a/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.Design/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.Design.csproj b/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.Design/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.Design.csproj
index 2250fc69b2f..8b1e005e419 100644
--- a/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.Design/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.Design.csproj
+++ b/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.Design/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.Design.csproj
@@ -57,7 +57,7 @@
False
- $(MSBuildProgramFiles32)\Windows Kits\10\UnionMetadata\10.0.17763.0\Windows.winmd
+ $(MSBuildProgramFiles32)\Windows Kits\10\UnionMetadata\10.0.18362.0\Windows.winmd
@@ -73,12 +73,12 @@
- $(ProgramFiles)\Windows Kits\10\References\10.0.17763.0\Windows.Foundation.FoundationContract\3.0.0.0\Windows.Foundation.FoundationContract.winmd
+ $(ProgramFiles)\Windows Kits\10\References\10.0.18362.0\Windows.Foundation.FoundationContract\3.0.0.0\Windows.Foundation.FoundationContract.winmdWindowsRuntimeFalse
- $(ProgramFiles)\Windows Kits\10\References\10.0.17763.0\Windows.Foundation.UniversalApiContract\7.0.0.0\Windows.Foundation.UniversalApiContract.winmd
+ $(ProgramFiles)\Windows Kits\10\References\10.0.18362.0\Windows.Foundation.UniversalApiContract\7.0.0.0\Windows.Foundation.UniversalApiContract.winmdWindowsRuntimeFalse
diff --git a/Microsoft.Toolkit.Uwp.UI.Controls.Design/Microsoft.Toolkit.Uwp.UI.Controls.Design.csproj b/Microsoft.Toolkit.Uwp.UI.Controls.Design/Microsoft.Toolkit.Uwp.UI.Controls.Design.csproj
index b611399dd13..864c02a44b1 100644
--- a/Microsoft.Toolkit.Uwp.UI.Controls.Design/Microsoft.Toolkit.Uwp.UI.Controls.Design.csproj
+++ b/Microsoft.Toolkit.Uwp.UI.Controls.Design/Microsoft.Toolkit.Uwp.UI.Controls.Design.csproj
@@ -58,7 +58,7 @@
False
- $(MSBuildProgramFiles32)\Windows Kits\10\UnionMetadata\10.0.17763.0\Windows.winmd
+ $(MSBuildProgramFiles32)\Windows Kits\10\UnionMetadata\10.0.18362.0\Windows.winmd
@@ -74,12 +74,12 @@
- $(ProgramFiles)\Windows Kits\10\References\10.0.17763.0\Windows.Foundation.FoundationContract\3.0.0.0\Windows.Foundation.FoundationContract.winmd
+ $(ProgramFiles)\Windows Kits\10\References\10.0.18362.0\Windows.Foundation.FoundationContract\3.0.0.0\Windows.Foundation.FoundationContract.winmdWindowsRuntimeFalse
- $(ProgramFiles)\Windows Kits\10\References\10.0.17763.0\Windows.Foundation.UniversalApiContract\7.0.0.0\Windows.Foundation.UniversalApiContract.winmd
+ $(ProgramFiles)\Windows Kits\10\References\10.0.18362.0\Windows.Foundation.UniversalApiContract\7.0.0.0\Windows.Foundation.UniversalApiContract.winmdWindowsRuntimeFalse
diff --git a/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/BackButtonBehavior.cs b/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/BackButtonBehavior.cs
index 694979e659d..af10e07c1b2 100644
--- a/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/BackButtonBehavior.cs
+++ b/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/BackButtonBehavior.cs
@@ -14,7 +14,7 @@ public enum BackButtonBehavior
///
///
/// If the back button controlled by is already visible, the will hook into that button.
- /// If the new NavigationView provided by the Windows UI nuget package is used, the will enable and show that button.
+ /// If the new NavigationView provided by the Windows UI NuGet package is used, the will enable and show that button.
/// Otherwise the inline button is used.
///
Automatic,
diff --git a/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.BackButton.cs b/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.BackButton.cs
new file mode 100644
index 00000000000..8be46587f61
--- /dev/null
+++ b/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.BackButton.cs
@@ -0,0 +1,166 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Reflection;
+using Windows.ApplicationModel;
+using Windows.UI.Core;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Navigation;
+
+namespace Microsoft.Toolkit.Uwp.UI.Controls
+{
+ ///
+ /// Panel that allows for a Master/Details pattern.
+ ///
+ ///
+ public partial class MasterDetailsView
+ {
+ private AppViewBackButtonVisibility? _previousSystemBackButtonVisibility;
+ private bool _previousNavigationViewBackEnabled;
+
+ // Int used because the underlying type is an enum, but we don't have access to the enum
+ private int _previousNavigationViewBackVisibilty;
+ private Button _inlineBackButton;
+ private object _navigationView;
+ private Frame _frame;
+
+ ///
+ /// Sets the back button visibility based on the current visual state and selected item
+ ///
+ private void SetBackButtonVisibility(MasterDetailsViewState? previousState = null)
+ {
+ const int backButtonVisible = 1;
+
+ if (DesignMode.DesignModeEnabled)
+ {
+ return;
+ }
+
+ if (ViewState == MasterDetailsViewState.Details)
+ {
+ if ((BackButtonBehavior == BackButtonBehavior.Inline) && (_inlineBackButton != null))
+ {
+ _inlineBackButton.Visibility = Visibility.Visible;
+ }
+ else if (BackButtonBehavior == BackButtonBehavior.Automatic)
+ {
+ // Continue to support the system back button if it is being used
+ SystemNavigationManager navigationManager = SystemNavigationManager.GetForCurrentView();
+ if (navigationManager.AppViewBackButtonVisibility == AppViewBackButtonVisibility.Visible)
+ {
+ // Setting this indicates that the system back button is being used
+ _previousSystemBackButtonVisibility = navigationManager.AppViewBackButtonVisibility;
+ }
+ else if ((_inlineBackButton != null) && ((_navigationView == null) || (_frame == null)))
+ {
+ // We can only use the new NavigationView if we also have a Frame
+ // If there is no frame we have to use the inline button
+ _inlineBackButton.Visibility = Visibility.Visible;
+ }
+ else
+ {
+ SetNavigationViewBackButtonState(backButtonVisible, true);
+ }
+ }
+ else if (BackButtonBehavior != BackButtonBehavior.Manual)
+ {
+ SystemNavigationManager navigationManager = SystemNavigationManager.GetForCurrentView();
+ _previousSystemBackButtonVisibility = navigationManager.AppViewBackButtonVisibility;
+
+ navigationManager.AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
+ }
+ }
+ else if (previousState == MasterDetailsViewState.Details)
+ {
+ if ((BackButtonBehavior == BackButtonBehavior.Inline) && (_inlineBackButton != null))
+ {
+ _inlineBackButton.Visibility = Visibility.Collapsed;
+ }
+ else if (BackButtonBehavior == BackButtonBehavior.Automatic)
+ {
+ if (!_previousSystemBackButtonVisibility.HasValue)
+ {
+ if ((_inlineBackButton != null) && ((_navigationView == null) || (_frame == null)))
+ {
+ _inlineBackButton.Visibility = Visibility.Collapsed;
+ }
+ else
+ {
+ SetNavigationViewBackButtonState(_previousNavigationViewBackVisibilty, _previousNavigationViewBackEnabled);
+ }
+ }
+ }
+
+ if (_previousSystemBackButtonVisibility.HasValue)
+ {
+ // Make sure we show the back button if the stack can navigate back
+ SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = _previousSystemBackButtonVisibility.Value;
+ _previousSystemBackButtonVisibility = null;
+ }
+ }
+ }
+
+ private void SetNavigationViewBackButtonState(int visible, bool enabled)
+ {
+ if (_navigationView == null)
+ {
+ return;
+ }
+
+ System.Type navType = _navigationView.GetType();
+ PropertyInfo visibleProperty = navType.GetProperty("IsBackButtonVisible");
+ if (visibleProperty != null)
+ {
+ _previousNavigationViewBackVisibilty = (int)visibleProperty.GetValue(_navigationView);
+ visibleProperty.SetValue(_navigationView, visible);
+ }
+
+ PropertyInfo enabledProperty = navType.GetProperty("IsBackEnabled");
+ if (enabledProperty != null)
+ {
+ _previousNavigationViewBackEnabled = (bool)enabledProperty.GetValue(_navigationView);
+ enabledProperty.SetValue(_navigationView, enabled);
+ }
+ }
+
+ ///
+ /// Closes the details pane if we are in narrow state
+ ///
+ /// The sender
+ /// The event args
+ private void OnFrameNavigating(object sender, NavigatingCancelEventArgs args)
+ {
+ if ((args.NavigationMode == NavigationMode.Back) && (ViewState == MasterDetailsViewState.Details))
+ {
+ ClearSelectedItem();
+ args.Cancel = true;
+ }
+ }
+
+ ///
+ /// Closes the details pane if we are in narrow state
+ ///
+ /// The sender
+ /// The event args
+ private void OnBackRequested(object sender, BackRequestedEventArgs args)
+ {
+ if (ViewState == MasterDetailsViewState.Details)
+ {
+ // let the OnFrameNavigating method handle it if
+ if (_frame == null || !_frame.CanGoBack)
+ {
+ ClearSelectedItem();
+ }
+
+ args.Handled = true;
+ }
+ }
+
+ private void OnInlineBackButtonClicked(object sender, RoutedEventArgs e)
+ {
+ ClearSelectedItem();
+ }
+ }
+}
diff --git a/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.Events.cs b/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.Events.cs
index ab7c55a2b29..5caa612b583 100644
--- a/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.Events.cs
+++ b/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.Events.cs
@@ -1,4 +1,4 @@
-// Licensed to the .NET Foundation under one or more agreements.
+// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
@@ -19,7 +19,7 @@ public partial class MasterDetailsView
public event SelectionChangedEventHandler SelectionChanged;
///
- /// Occurs when the view state changes
+ /// Occurs when the view state changes.
///
public event EventHandler ViewStateChanged;
diff --git a/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.Properties.cs b/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.Properties.cs
index 22f54003331..76184535f3c 100644
--- a/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.Properties.cs
+++ b/Microsoft.Toolkit.Uwp.UI.Controls/MasterDetailsView/MasterDetailsView.Properties.cs
@@ -1,4 +1,4 @@
-// Licensed to the .NET Foundation under one or more agreements.
+// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
@@ -53,7 +53,7 @@ public partial class MasterDetailsView
nameof(MasterHeader),
typeof(object),
typeof(MasterDetailsView),
- new PropertyMetadata(null, OnMasterHeaderChanged));
+ new PropertyMetadata(null));
///
/// Identifies the dependency property.
@@ -85,15 +85,46 @@ public partial class MasterDetailsView
typeof(MasterDetailsView),
new PropertyMetadata(null));
+
+ ///
+ /// Identifies the dependency property.
+ ///
+ /// The identifier for the dependency property.
+ public static readonly DependencyProperty DetailsPaneBackgroundProperty = DependencyProperty.Register(
+ nameof(DetailsPaneBackground),
+ typeof(Brush),
+ typeof(MasterDetailsView),
+ new PropertyMetadata(null));
+
+ ///
+ /// Identifies the dependency property.
+ ///
+ /// The identifier for the dependency property.
+ public static readonly DependencyProperty MasterNoItemsContentProperty = DependencyProperty.Register(
+ nameof(MasterNoItemsContent),
+ typeof(object),
+ typeof(MasterDetailsView),
+ new PropertyMetadata(null));
+
+ ///
+ /// Identifies the dependency property.
+ ///
+ /// The identifier for the dependency property.
+ public static readonly DependencyProperty MasterNoItemsContentTemplateProperty = DependencyProperty.Register(
+ nameof(MasterNoItemsContentTemplate),
+ typeof(DataTemplate),
+ typeof(MasterDetailsView),
+ new PropertyMetadata(null));
+
///
/// Identifies the dependency property.
///
/// The identifier for the dependency property.
public static readonly DependencyProperty MasterPaneWidthProperty = DependencyProperty.Register(
nameof(MasterPaneWidth),
- typeof(double),
+ typeof(GridLength),
typeof(MasterDetailsView),
- new PropertyMetadata(320d));
+ new PropertyMetadata(new GridLength(320)));
///
/// Identifies the dependency property.
@@ -116,7 +147,7 @@ public partial class MasterDetailsView
new PropertyMetadata(null));
///
- /// Identifies the dependency property
+ /// Identifies the dependency property.
///
/// The identifier for the dependency property.
public static readonly DependencyProperty ViewStateProperty = DependencyProperty.Register(
@@ -126,7 +157,7 @@ public partial class MasterDetailsView
new PropertyMetadata(default(MasterDetailsViewState)));
///
- /// Identifies the dependency property
+ /// Identifies the dependency property.
///
/// The identifier for the dependency property.
public static readonly DependencyProperty MasterCommandBarProperty = DependencyProperty.Register(
@@ -136,7 +167,7 @@ public partial class MasterDetailsView
new PropertyMetadata(null, OnMasterCommandBarChanged));
///
- /// Identifies the dependency property
+ /// Identifies the dependency property.
///
/// The identifier for the dependency property.
public static readonly DependencyProperty DetailsCommandBarProperty = DependencyProperty.Register(
@@ -146,22 +177,44 @@ public partial class MasterDetailsView
new PropertyMetadata(null, OnDetailsCommandBarChanged));
///
- /// Identifies the dependency property
+ /// Identifies the dependency property.
///
+ /// The identifier for the dependency property.
public static readonly DependencyProperty CompactModeThresholdWidthProperty = DependencyProperty.Register(
nameof(CompactModeThresholdWidth),
typeof(double),
typeof(MasterDetailsView),
- new PropertyMetadata(720d, OnCompactModeThresholdWidthChanged));
+ new PropertyMetadata(640d));
///
- /// Identifies the dependency property
+ /// Identifies the dependency property.
///
+ /// The identifier for the dependency property.
public static readonly DependencyProperty BackButtonBehaviorProperty = DependencyProperty.Register(
nameof(BackButtonBehavior),
typeof(BackButtonBehavior),
typeof(MasterDetailsView),
- new PropertyMetadata(BackButtonBehavior.System, OnBackButtonBehaviorChanged));
+ new PropertyMetadata(null, OnBackButtonBehaviorChanged));
+
+ ///
+ /// Identifies the dependency property.
+ ///
+ /// The identifier for the dependency property.
+ public static readonly DependencyProperty DetailsContentTemplateSelectorProperty = DependencyProperty.Register(
+ nameof(DetailsContentTemplateSelector),
+ typeof(DataTemplateSelector),
+ typeof(MasterDetailsView),
+ new PropertyMetadata(null));
+
+ ///
+ /// Identifies the dependency property.
+ ///
+ /// The identifier for the dependency property.
+ public static readonly DependencyProperty MasterItemTemplateSelectorProperty = DependencyProperty.Register(
+ nameof(MasterItemTemplateSelector),
+ typeof(DataTemplateSelector),
+ typeof(MasterDetailsView),
+ new PropertyMetadata(null));
///
/// Gets or sets the selected item.
@@ -193,7 +246,41 @@ public Brush MasterPaneBackground
}
///
- /// Gets or sets the content for the master pane's header
+ /// Gets or sets the Brush to apply to the background of the details area of the control.
+ ///
+ /// The Brush to apply to the background of the details area of the control.
+ public Brush DetailsPaneBackground
+ {
+ get { return (Brush)GetValue(DetailsPaneBackgroundProperty); }
+ set { SetValue(DetailsPaneBackgroundProperty, value); }
+ }
+
+ ///
+ /// Gets or sets the content for the master pane's no items presenter.
+ ///
+ ///
+ /// The content of the master pane's header. The default is null.
+ ///
+ public object MasterNoItemsContent
+ {
+ get { return GetValue(MasterNoItemsContentProperty); }
+ set { SetValue(MasterNoItemsContentProperty, value); }
+ }
+
+ ///
+ /// Gets or sets the DataTemplate used to display the master pane's no items presenter.
+ ///
+ ///
+ /// The template that specifies the visualization of the master pane no items object. The default is null.
+ ///
+ public DataTemplate MasterNoItemsContentTemplate
+ {
+ get { return (DataTemplate)GetValue(MasterNoItemsContentTemplateProperty); }
+ set { SetValue(MasterNoItemsContentTemplateProperty, value); }
+ }
+
+ ///
+ /// Gets or sets the content for the master pane's header.
///
///
/// The content of the master pane's header. The default is null.
@@ -247,14 +334,14 @@ public DataTemplate DetailsHeaderTemplate
/// The width of the SplitView pane when it's fully expanded. The default is 320
/// device-independent pixel (DIP).
///
- public double MasterPaneWidth
+ public GridLength MasterPaneWidth
{
- get { return (double)GetValue(MasterPaneWidthProperty); }
+ get { return (GridLength)GetValue(MasterPaneWidthProperty); }
set { SetValue(MasterPaneWidthProperty, value); }
}
///
- /// Gets or sets the content to dsiplay when there is no item selected in the master list.
+ /// Gets or sets the content to display when there is no item selected in the master list.
///
public object NoSelectionContent
{
@@ -276,12 +363,12 @@ public DataTemplate NoSelectionContentTemplate
}
///
- /// Gets the current visual state of the control
+ /// Gets or sets gets the current visual state of the control.
///
public MasterDetailsViewState ViewState
{
get { return (MasterDetailsViewState)GetValue(ViewStateProperty); }
- private set { SetValue(ViewStateProperty, value); }
+ set { SetValue(ViewStateProperty, value); }
}
///
@@ -303,7 +390,7 @@ public CommandBar DetailsCommandBar
}
///
- /// Gets or sets the Threshold width that witll trigger the control to go into compact mode
+ /// Gets or sets the Threshold width that will trigger the control to go into compact mode.
///
public double CompactModeThresholdWidth
{
@@ -312,7 +399,7 @@ public double CompactModeThresholdWidth
}
///
- /// Gets or sets the behavior to use for the back button
+ /// Gets or sets the behavior to use for the back button.
///
/// The current BackButtonBehavior. The default is System.
public BackButtonBehavior BackButtonBehavior
@@ -321,10 +408,48 @@ public BackButtonBehavior BackButtonBehavior
set { SetValue(BackButtonBehaviorProperty, value); }
}
+ ///
+ /// Gets or sets the for the details presenter.
+ ///
+ public DataTemplateSelector DetailsContentTemplateSelector
+ {
+ get { return (DataTemplateSelector)GetValue(DetailsContentTemplateSelectorProperty); }
+ set { SetValue(DetailsContentTemplateSelectorProperty, value); }
+ }
+
+ ///
+ /// Gets or sets the for the master list items.
+ ///
+ public DataTemplateSelector MasterItemTemplateSelector
+ {
+ get { return (DataTemplateSelector)GetValue(MasterItemTemplateSelectorProperty); }
+ set { SetValue(MasterItemTemplateSelectorProperty, value); }
+ }
+
///
/// Gets or sets a function for mapping the selected item to a different model.
/// This new model will be the DataContext of the Details area.
///
public Func