private UIElement LastUIElement = null;//上一次的播放组件 public ProgramRegionPlayManager(Canvas canvas, ProgramRegion programregion, IMediaInfoService mediaService, ILogWrite logWrite) { canvasLayout = canvas; programRegion = programregion; mediaInfoService = mediaService; playList = programRegion.MediaList.OrderBy(x => x.play_order).ToList();//排序 _logWrite = logWrite; }
/// <summary> /// 增加media组件 /// </summary> /// <param name="layout"></param> /// <param name="SourcePath"></param> /// <param name="Region"></param> public static UIElement AddMediaComponent(this Canvas layout, string SourcePath, ProgramRegion Region, bool Visible = true) { MediaControl mediaControl = new MediaControl(); mediaControl.mediaUri = new Uri(SourcePath); Canvas.SetLeft(mediaControl, Region.x); Canvas.SetTop(mediaControl, Region.y); mediaControl.Width = Region.w; mediaControl.Height = Region.h; mediaControl.Visibility = Visible == true ? Visibility.Visible : Visibility.Hidden; layout.Children.Add(mediaControl); mediaControl.LoadMedia(); return(mediaControl); }
/// <summary> /// 增加web组件 /// </summary> /// <param name="layout"></param> /// <param name="SourcePath"></param> /// <param name="Region"></param> public static UIElement AddWebComponent(this Canvas layout, string SourcePath, ProgramRegion Region, bool Visible = true) { ChromiumWebBrowser chromiumWebBrowser = new ChromiumWebBrowser(); chromiumWebBrowser.Address = SourcePath; Canvas.SetLeft(chromiumWebBrowser, Region.x); Canvas.SetTop(chromiumWebBrowser, Region.y); chromiumWebBrowser.Width = Region.w; chromiumWebBrowser.Height = Region.h; chromiumWebBrowser.Visibility = Visible == true ? Visibility.Visible : Visibility.Hidden; layout.Children.Add(chromiumWebBrowser); return(chromiumWebBrowser); }
/// <summary> /// 增加图片组件 /// </summary> /// <param name="FilePath"></param> /// <returns></returns> public static UIElement AddImageComponent(this Canvas layout, string SourcePath, ProgramRegion Region, bool Visible = true) { Image imageCtrl = new Image(); var image = new BitmapImage(); image.BeginInit(); image.UriSource = new Uri(SourcePath); image.EndInit(); ImageBehavior.SetAnimatedSource(imageCtrl, image); Canvas.SetLeft(imageCtrl, Region.x); Canvas.SetTop(imageCtrl, Region.y); imageCtrl.Width = Region.w; imageCtrl.Height = Region.h; imageCtrl.Stretch = Stretch.Fill; imageCtrl.StretchDirection = StretchDirection.Both; imageCtrl.Visibility = Visible == true ? Visibility.Visible : Visibility.Hidden; layout.Children.Add(imageCtrl); return(imageCtrl); }
/// <summary> /// 增加外部exe组件 /// </summary> /// <param name="layout"></param> /// <param name="SourcePath"></param> /// <param name="Region"></param> public static UIElement AddExeComponent(this Canvas layout, string SourcePath, string Args, ProgramRegion Region) { AppControl appControl = new AppControl(); appControl.ExeName = SourcePath; appControl.CtrlLocation = new System.Windows.Point() { X = Region.x, Y = Region.y }; appControl.Width = Region.w; appControl.Height = Region.h; layout.Children.Add(appControl); //先放入窗体内部 appControl.LoadExe(Args); //再执行加载exe return(appControl); }
/// <summary> /// 增加PPT组件 /// </summary> /// <param name="layout"></param> /// <param name="SourcePath"></param> /// <param name="Region"></param> public static UIElement AddPPTComponent(this Canvas layout, string SourcePath, ProgramRegion Region, bool Visible = true) { AppControl appControl = new AppControl(); appControl.ExeName = @""; appControl.CtrlLocation = new System.Windows.Point() { X = Region.x, Y = Region.y }; appControl.Width = Region.w; appControl.Height = Region.h; appControl.Visibility = Visible == true ? Visibility.Visible : Visibility.Hidden; layout.Children.Add(appControl); appControl.LoadExe(SourcePath); return(appControl); }