示例#1
0
        /// <summary>
        /// Update the window color
        /// </summary>
        /// <param name="sender">the sender</param>
        /// <param name="e">the selection changed event arguments</param>
        private void OnWindowColorChanged(object sender, SelectionChangedEventArgs e)
        {
            this.ListSelector.SelectionChanged -= this.OnWindowColorChanged;
            this.ListSelector.LayoutMode        = LongListSelectorLayoutMode.List;
            var selectedItem = (Model.Color) this.ListSelector.SelectedItem;
            var viewModel    = this.DataContext as CaptionSettingsFlyoutViewModel;

            viewModel.Settings.WindowColor = CaptionSettingsFlyoutViewModel.SetColorType(viewModel.WindowColorType, selectedItem, selectedItem);

            this.HideListSelector();
        }
        /// <summary>
        /// Update the background color
        /// </summary>
        /// <param name="sender">the sender</param>
        /// <param name="e">the selection changed event arguments</param>
        private void OnBackgroundColorChanged(object sender, SelectionChangedEventArgs e)
        {
            var listSelector = sender as ListBox;

            listSelector.SelectionChanged -= this.OnBackgroundColorChanged;
            var selectedItem = (Model.Color)listSelector.SelectedItem;
            var viewModel    = this.DataContext as CaptionSettingsFlyoutViewModel;

            viewModel.Settings.BackgroundColor = CaptionSettingsFlyoutViewModel.SetColorType(viewModel.BackgroundColorType, selectedItem, selectedItem);

            this.HideListSelector();
        }
        /// <summary>
        /// Pick the window color
        /// </summary>
        /// <param name="sender">the window color button</param>
        /// <param name="e">the routed event arguments</param>
        private void WindowColorButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            this.PickColor(
                sender,
                delegate(Model.Color color)
            {
                var viewModel = this.DataContext as CaptionSettingsFlyoutViewModel;

                this.CaptionSettings.WindowColor = CaptionSettingsFlyoutViewModel.SetColorType(viewModel.WindowColorType, color, new Model.Color {
                    Alpha = 0, Red = 0, Green = 0, Blue = 0
                });
            });
        }
        /// <summary>
        /// Initializes a new instance of the CaptionSettingsControl class.
        /// </summary>
        public CaptionSettingsControl()
        {
            this.DefaultStyleKey = typeof(CaptionSettingsControl);

            var viewModel = new CaptionSettingsFlyoutViewModel();

            this.DataContext = viewModel;

            this.CaptionSettings = new CustomCaptionSettings();

            viewModel.PropertyChanged += this.OnViewModelPropertyChanged;

            object value;

            if (Windows.Storage.ApplicationData.Current.LocalSettings.Values.TryGetValue(OverrideDefaultKey, out value))
            {
                viewModel.IsEnabled = (bool)value;
            }
        }
        /// <summary>
        /// Initializes a new instance of the CaptionSettingsControl class.
        /// </summary>
        public CaptionSettingsControl()
        {
            this.InitializeComponent();

            if (DesignMode.DesignModeEnabled)
            {
                this.LayoutRoot.Background = new SolidColorBrush(Colors.Black);
            }

            var loader = Microsoft.PlayerFramework.CaptionSettings.AssemblyResources.Get();

            var viewModel = new CaptionSettingsFlyoutViewModel();

            this.DataContext = viewModel;

            object value;

            if (Windows.Storage.ApplicationData.Current.LocalSettings.Values.TryGetValue(OverrideDefaultKey, out value))
            {
                viewModel.IsEnabled = (bool)value;
            }

            viewModel.PropertyChanged += this.OnViewModelPropertyChanged;
        }