using ScottPlot.Colormaps; using SunlightCentralizedControlManagement_SCCM_.ViewModel; using System; using System.Collections.Generic; using System.Data; using System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder; using System.Linq; using System.Speech.Synthesis; 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.Imaging; using System.Windows.Shapes; using System.Windows.Threading; using static SunlightCentralizedControlManagement_SCCM_.ViewModel.MainWindowViewModel; namespace SunlightCentralizedControlManagement_SCCM_.WindowsView { /// /// UserInformation.xaml 的交互逻辑 /// public partial class UserInformation : Window { private static UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini"); DispatcherTimer timers = new DispatcherTimer(DispatcherPriority.Normal);//初始化循环,调用一次Tick private SpeechSynthesizer synth = new SpeechSynthesizer();//语音 int inf_cont = 0; public UserInformation() { InitializeComponent(); MainWindow.InfData.Rows.Add(new object[] { "1", "a","423","12"}); MainWindow.InfData.Rows.Add(new object[] { "2", "b" ,"345","122"}); MainWindow.InfData.Rows.Add(new object[] { "3", "c" ,"345","32"}); MainWindow.InfData.Rows.Add(new object[] { "1", "a", "423", "1232" }); MainWindow.InfData.Rows.Add(new object[] { "2", "b", "345", "1222" }); MainWindow.InfData.Rows.Add(new object[] { "3", "c", "345", "325" }); Griddata.ItemsSource = MainWindow.InfData.DefaultView; synth.Rate = int.Parse( Configini.IniReadvalue("VOICE", "V1")); synth.Volume = int.Parse( Configini.IniReadvalue("VOICE", "V2")); Speak(); CountDown(); } public void CountDown() { timers.Interval = TimeSpan.FromSeconds(10);//秒 timers.Tick += DisTimer_S; timers.Start(); }//时间周期初始化 void DisTimer_S(object sender, EventArgs e)//Tick_Event周期执行事件50MS { Speak(); } private void Speak() { if (inf_cont < MainWindow.InfData.Rows.Count) { synth.SpeakAsync(Properties.Resources.Machine + MainWindow.InfData.Rows[inf_cont][0].ToString() + Properties.Resources.Pequest + MainWindow.InfData.Rows[inf_cont][1].ToString());//播报 inf_cont++; } else { synth.SpeakAsync(Properties.Resources.Machine + MainWindow.InfData.Rows[0][0].ToString() + Properties.Resources.Pequest + MainWindow.InfData.Rows[0][1].ToString());//播报 inf_cont = 0; } } private void Button_Click(object sender, RoutedEventArgs e) { var button = sender as Button; DataRowView datarow = (DataRowView)button.Tag; var id= datarow.Row.Field("ID"); DataRow erwqer = MainWindow.InfData.Select("ID='" + id + "'").First(); erwqer.Delete(); Griddata.ItemsSource = MainWindow.InfData.DefaultView; if (MainWindow.InfData.Rows.Count == 0) { this.Close(); } } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { synth.Dispose(); timers.Stop(); } } }