private Image createImage(Node node, int children) { Image img = new Image(); BitmapImage bi = new BitmapImage(); bi.BeginInit(); bi.UriSource = new Uri("res/img/" + node.ImageName + ".png", UriKind.Relative); bi.EndInit(); bi.Freeze(); img.Source = bi; if (node.Level == 1) { img.Height = 118; img.Width = 258; } else { if (children <= 6) { img.Height = 200; img.Width = 209; } else { img.Height = 150; img.Width = 153; } } img.Margin = new Thickness(10, 0, 80, 0); img.Tag = node; img.MouseLeftButtonDown += gotoNext; return img; }
public FullScreenPlayer(Node current, Player ucPlayer, MediaElement parent, TimeSpan now) { InitializeComponent(); //if (!File.Exists(current.Filelocation)) //{ // MessageBox.Show("文件不存在!!"); //} //else //{ // VideoUtil.encode(current.Filelocation); //} this.parent = parent; this.current = current; this.ucPlayer = ucPlayer; player.Width = SystemParameters.VirtualScreenWidth; player.Height = SystemParameters.VirtualScreenHeight - 45; //wpfMediaPlayer.URL = current.Filelocation; //player.Play(); DispatcherTimer timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromSeconds(1); timer.Tick += timer_Tick; timer.Start(); player.Source = new Uri(current.Filelocation, UriKind.Relative); player.Position = now; player.Play(); }
public IndexWindow(Node current) { InitializeComponent(); this.current = current; refreshLayout(current); }
public Player(Node current, ProgressBar pb) { InitializeComponent(); playerPanel.Width = SystemParameters.VirtualScreenWidth * 0.7; playerPanel.Height = SystemParameters.VirtualScreenHeight - 200; player.Width = SystemParameters.VirtualScreenWidth * 0.7; player.Height = SystemParameters.VirtualScreenHeight - 260; player.CacheMode = new BitmapCache() { }; desViewer.Height = (SystemParameters.VirtualScreenHeight - 270) * 0.85; if (!File.Exists(current.Filelocation)) { MessageBox.Show("文件不存在!!"); } else { VideoUtil.encode(current.Filelocation); } this.current = current; title.Content = current.Name; title.FontWeight = FontWeights.Bold; TextBlockHelper.formatTextBlock(description, current.Description); if (player.Source == null) { player.Source = new Uri(current.Filelocation, UriKind.Relative); } player.Play(); isPlaying = true; DispatcherTimer timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromSeconds(1); timer.Tick += timer_Tick; timer.Start(); //this.AddHandler(IndexWindow.closeEvent, new RoutedEventHandler(close)); }
private void refreshLayout(Node node) { if (body.Children.OfType<Player>().Count<Player>() > 0) { Player player = body.Children[0] as Player; player.player.Stop(); player.player.Source = null; GC.Collect(); Thread.Sleep(100); if (File.Exists(current.Filelocation)) { VideoUtil.encode(current.Filelocation); } } this.current = node; refreshBreadCrumb(node); refreshBody(node); }
private void refreshBreadCrumb(Node node) { breadcrumb.Children.RemoveRange(0, breadcrumb.Children.Count); Stack<Node> stack = new Stack<Node>(); Node tmp = node; while (tmp != null) { stack.Push(tmp); if (tmp.Parent == null) { break; } else { tmp = tmp.Parent; } } int count = stack.Count; foreach (Node top in stack) { Label label = new Label(); label.Content = top.Name; label.Margin = new Thickness(5, 0, 0, 0); label.Tag = top; label.MouseLeftButtonDown += gotoPrev; breadcrumb.Children.Add(label); --count; if (count != 0) { Label arrow = new Label(); arrow.Content = ">"; arrow.Margin = new Thickness(5, 0, 0, 0); breadcrumb.Children.Add(arrow); } } }
private void refreshBody(Node node) { body.Children.RemoveRange(0, body.Children.Count); if (node.Leaf) { if (node.ExceptionDescription.Length > 0) { generateDescriptionPage(); } else { generateMediaPage(); } } else { if (!node.Leaf && node.Description.Length > 0) { generateDescriptionPage(); } else { generateDirectoryPage(); } } }
private static void addChildren(Node node, XmlNode item, int index) { node.Name = item.Attributes["name"].Value.ToString(); String level = item.Attributes["level"].Value.ToString(); node.Level = Convert.ToInt32(item.Attributes["level"].Value.ToString()); if (node.Level == 1) { if (node.Name.Equals("组织指挥")) { node.ImageName = "org"; } else if (node.Name.Equals("基本技术")) { node.ImageName = "basic"; } else if (node.Name.Equals("技能应用")) { node.ImageName = "comp"; } else { node.ImageName = "emerg"; } } else if (node.Level > 1) { node.ImageName = node.Parent.ImageName + "_" + index; } node.Leaf = item.Attributes["leaf"].Value.ToString().Equals("true"); if (ConfigHolder.getInfo().ContainsKey(node.Name + ".d")) { String des = ConfigHolder.getInfo()[node.Name + ".d"]; if (!des.StartsWith(" ")) node.Description = " " + des; } else { node.Description = ""; } if (ConfigHolder.getInfo().ContainsKey(node.Name + ".dd")) { String des = ConfigHolder.getInfo()[node.Name + ".dd"]; node.ExceptionDescription = des; } else { node.ExceptionDescription = ""; } if (node.Leaf && ConfigHolder.getInfo().ContainsKey(node.Name + ".f")) { node.Filelocation = "media/" + ConfigHolder.getInfo()[node.Name + ".f"]; } else { node.Filelocation = ""; } XmlNodeList list = item.ChildNodes; for (int i = 1; i <= list.Count; ++i) { Node childNode = new Node(); childNode.Parent = node; node.Children.Add(childNode); addChildren(childNode, list[i-1], i); } }
private static void getDirectory() { XmlElement element = xml.DocumentElement; root = new Node(); root.Name = "首页"; root.Parent = null; root.Leaf = false; root.Description = null; root.Filelocation = null; addChildren(root, element, 0); }