コード例 #1
0
        //private void OnSizeChanged(object sender, EventArgs e)
        //{
        //    var page = (Xamarin.Forms.MasterDetailPage)sender;

        //    Control.ApplyTemplate();

        //    ConfigureSplitView(Control, page);

        //    page.SizeChanged -= OnSizeChanged;
        //}

        static void ConfigureSplitView(MasterDetailControl control, MasterDetailPage page)
        {
            try
            {
                if ((bool)page.GetValue(XamarinFormsGridView.Behaviours.MasterDetailPageBehaviour.IsDynamicMasterBehaviourEnabledProperty))
                {
                    var threshold = (double)page.GetValue(XamarinFormsGridView.Behaviours.MasterDetailPageBehaviour.DynamicMasterBehaviorThresholdProperty);

                    if (page.Width <= threshold)
                    {
                        //control.CollapseStyle = Xamarin.Forms.PlatformConfiguration.WindowsSpecific.CollapseStyle.Partial;
                        control.ShouldShowSplitMode = false;
                        control.IsPaneOpen          = false;
                    }
                    else
                    {
                        control.ShouldShowSplitMode = true;
                        control.IsPaneOpen          = true;
                    }
                }
            }
            catch (Exception)
            {
                //Not sure why this is getting thrown.
            }
        }