123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- 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<DFLayoutVideoField, DFLayoutVideoFieldProperties, byte[]>
- {
- 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<byte>();
- }
- public override void SetValue(byte[]? value)
- {
- Data = value;
- }
- protected override bool IsEmpty() => Data is null || Data.Length == 0;
- }
- }
|