Пример #1
0
        public void ShowFlyout(string name, object dataContext)
        {
            Argument.IsNotNullOrWhitespace(() => name);

            if (!_flyouts.ContainsKey(name))
            {
                throw Log.ErrorAndCreateException <InvalidOperationException>("Flyout '{0}' is not added yet", name);
            }

            var flyoutInfo = _flyouts[name];
            var flyout     = flyoutInfo.Flyout;

            var flyoutsControl = flyout.Parent as FlyoutsControl;

            if (flyoutsControl != null)
            {
                flyoutsControl.BorderThickness = new Thickness(1);
                flyoutsControl.BorderBrush     = ThemeHelper.GetAccentColorBrush();
            }

            flyout.Content     = flyoutInfo.Content;
            flyout.DataContext = dataContext;
            flyout.Dispatcher.BeginInvoke(() => flyout.IsOpen = true);
        }
Пример #2
0
        public void ShowFlyout(string name, object dataContext)
        {
            Argument.IsNotNullOrWhitespace(() => name);

            if (!_flyouts.ContainsKey(name))
            {
                throw Log.ErrorAndCreateException <InvalidOperationException>("Flyout '{0}' is not added yet", name);
            }

            var flyoutInfo = _flyouts[name];
            var flyout     = flyoutInfo.Flyout;

            flyout.Dispatcher.BeginInvoke(() =>
            {
                var flyoutsControl = flyout.Parent as FlyoutsControl;
                if (flyoutsControl != null)
                {
                    flyoutsControl.SetCurrentValue(System.Windows.Controls.Control.BorderThicknessProperty, new Thickness(1));
                    flyoutsControl.SetCurrentValue(System.Windows.Controls.Control.BorderBrushProperty, ThemeHelper.GetAccentColorBrush());
                }

                flyout.SetCurrentValue(System.Windows.Controls.ContentControl.ContentProperty, flyoutInfo.Content);
                flyout.SetValue(FrameworkElement.DataContextProperty, dataContext);
                flyout.SetCurrentValue(Flyout.IsOpenProperty, true);
            });
        }