using BPASmartClient.CustomResource.UserControls; using BPASmartClient.Helper; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace BPASmartClient.JXJFoodBigStation.View { /// /// HardwareStatusView.xaml 的交互逻辑 /// public partial class HardwareStatusView : UserControl { Storyboard storyboard; public HardwareStatusView() { InitializeComponent(); storyboard = Resources["Open"] as Storyboard; ActionManage.GetInstance.CancelRegister("StartTopDevice"); ActionManage.GetInstance.CancelRegister("StopTopDevice"); ActionManage.GetInstance.CancelRegister("StartBottomDevice"); ActionManage.GetInstance.CancelRegister("StopBottomDevice"); ActionManage.GetInstance.Register(new Action((deviceName) => { foreach (var item in this.FListView.Items) { var myListBoxItem = (ListViewItem)FListView.ItemContainerGenerator.ContainerFromItem(item); // Getting the ContentPresenter of myListBoxItem var myContentPresenter = FindVisualChild(myListBoxItem); // Finding textBlock from the DataTemplate that is set on that ContentPresenter DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; var obj = myDataTemplate.FindName("path", myContentPresenter); Path pt = obj as Path; if (pt != null) { if (pt.Tag.ToString() == deviceName.ToString()&& storyboard != null) { pt.Visibility = Visibility.Visible; pt.BeginStoryboard(storyboard); } } } }),"StartTopDevice" ); ActionManage.GetInstance.Register(new Action((deviceName) => { foreach (var item in this.FListView.Items) { var myListBoxItem = (ListViewItem)FListView.ItemContainerGenerator.ContainerFromItem(item); // Getting the ContentPresenter of myListBoxItem var myContentPresenter = FindVisualChild(myListBoxItem); // Finding textBlock from the DataTemplate that is set on that ContentPresenter DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; var obj = myDataTemplate.FindName("path", myContentPresenter); Path pt = obj as Path; if (pt != null) { if (pt.Tag.ToString() == deviceName.ToString()) pt.Visibility = Visibility.Collapsed; } } }), "StopTopDevice"); ActionManage.GetInstance.Register(new Action((deviceName) => { foreach (var item in this.buttonListView.Items) { var myListBoxItem = (ListViewItem)buttonListView.ItemContainerGenerator.ContainerFromItem(item); // Getting the ContentPresenter of myListBoxItem var myContentPresenter = FindVisualChild(myListBoxItem); // Finding textBlock from the DataTemplate that is set on that ContentPresenter DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; var obj = myDataTemplate.FindName("path1", myContentPresenter); Path pt = obj as Path; if (pt != null) { if (pt.Tag.ToString() == deviceName.ToString() && storyboard != null) { pt.Visibility = Visibility.Visible; pt.BeginStoryboard(storyboard); } } } }), "StartBottomDevice"); ActionManage.GetInstance.Register(new Action((deviceName) => { foreach (var item in this.buttonListView.Items) { var myListBoxItem = (ListViewItem)buttonListView.ItemContainerGenerator.ContainerFromItem(item); // Getting the ContentPresenter of myListBoxItem var myContentPresenter = FindVisualChild(myListBoxItem); // Finding textBlock from the DataTemplate that is set on that ContentPresenter DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; var obj = myDataTemplate.FindName("path1", myContentPresenter); Path pt = obj as Path; if (pt != null) { if (pt.Tag.ToString() == deviceName.ToString()) pt.Visibility = Visibility.Collapsed; } } }), "StopBottomDevice"); } //顶部启动下料动画 private void IcoButton_Click(object sender, RoutedEventArgs e) { foreach (var item in this.FListView.Items) { var myListBoxItem = (ListViewItem)FListView.ItemContainerGenerator.ContainerFromItem(item); // Getting the ContentPresenter of myListBoxItem var myContentPresenter = FindVisualChild(myListBoxItem); // Finding textBlock from the DataTemplate that is set on that ContentPresenter DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; var obj = myDataTemplate.FindName("path", myContentPresenter); Path pt = obj as Path; if (pt != null) { if (pt.Tag == (sender as IcoButton).Tag&&storyboard!=null) { pt.Visibility = Visibility.Visible; pt.BeginStoryboard(storyboard); } } } } //顶部停止下料动画 private void IcoButton_Click_1(object sender, RoutedEventArgs e) { foreach (var item in this.FListView.Items) { var myListBoxItem = (ListViewItem)FListView.ItemContainerGenerator.ContainerFromItem(item); // Getting the ContentPresenter of myListBoxItem var myContentPresenter = FindVisualChild(myListBoxItem); // Finding textBlock from the DataTemplate that is set on that ContentPresenter DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; var obj = myDataTemplate.FindName("path", myContentPresenter); Path pt = obj as Path; if (pt != null) { if (pt.Tag == (sender as IcoButton).Tag) pt.Visibility = Visibility.Collapsed; } } } //底部启动下料动画 private void IcoButton_Click_2(object sender, RoutedEventArgs e) { foreach (var item in this.buttonListView.Items) { var myListBoxItem = (ListViewItem)buttonListView.ItemContainerGenerator.ContainerFromItem(item); // Getting the ContentPresenter of myListBoxItem var myContentPresenter = FindVisualChild(myListBoxItem); // Finding textBlock from the DataTemplate that is set on that ContentPresenter DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; var obj = myDataTemplate.FindName("path1", myContentPresenter); Path pt = obj as Path; if (pt != null) { if (pt.Tag == (sender as IcoButton).Tag && storyboard != null) { pt.Visibility = Visibility.Visible; pt.BeginStoryboard(storyboard); } } } } //底部停止下料动画 private void IcoButton_Click_3(object sender, RoutedEventArgs e) { foreach (var item in this.buttonListView.Items) { var myListBoxItem = (ListViewItem)buttonListView.ItemContainerGenerator.ContainerFromItem(item); // Getting the ContentPresenter of myListBoxItem var myContentPresenter = FindVisualChild(myListBoxItem); // Finding textBlock from the DataTemplate that is set on that ContentPresenter DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; var obj = myDataTemplate.FindName("path1", myContentPresenter); Path pt = obj as Path; if (pt != null) { if (pt.Tag == (sender as IcoButton).Tag) pt.Visibility = Visibility.Collapsed; } } } private childItem FindVisualChild(DependencyObject obj) where childItem : DependencyObject { for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++) { DependencyObject child = VisualTreeHelper.GetChild(obj, i); if (child != null && child is childItem) return (childItem)child; else { childItem childOfChild = FindVisualChild(child); if (childOfChild != null) return childOfChild; } } return null; } } }