using InABox.Core; using InABox.WPF; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; namespace InABox.DynamicGrid { public class DFVideoControl : DynamicFormFieldControl { Button PlayButton; Button PauseButton; byte[]? Data; protected override FrameworkElement Create() { var grid = new Grid(); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); PlayButton = new Button { Width = 25, Height = 25, Margin = new Thickness(5) }; PlayButton.Content = new Image { Source = Wpf.Resources.play_button.AsBitmapImage(), }; PlayButton.Click += PlayButton_Click; PlayButton.SetGridPosition(1, 0); PauseButton = new Button { Width = 25, Height = 25, Margin = new Thickness(5), Visibility = Visibility.Hidden }; PauseButton.Content = new Image { Source = Wpf.Resources.pause_button.AsBitmapImage() }; PauseButton.Click += PauseButton_Click; PauseButton.SetGridPosition(1, 0); grid.Children.Add(PlayButton); grid.Children.Add(PauseButton); return grid; } private void PlayButton_Click(object sender, RoutedEventArgs e) { //MediaElement.Play(); PlayButton.Visibility = Visibility.Hidden; PauseButton.Visibility = Visibility.Visible; } private void PauseButton_Click(object sender, RoutedEventArgs e) { //MediaElement.Pause(); PauseButton.Visibility = Visibility.Hidden; PlayButton.Visibility = Visibility.Visible; } public override byte[] GetValue() { return Data ?? Array.Empty(); } public override void SetValue(byte[]? value) { Data = value; } protected override bool IsEmpty() => Data is null || Data.Length == 0; } }