Browse Source

信息播报页面添加

master
sc 3 months ago
parent
commit
cdc7b896d9
  1. 22
      MainWindow.xaml.cs
  2. 36
      ViewModel/MainWindowViewModel.cs
  3. 19
      WindowsView/UserInformation.xaml
  4. 13
      WindowsView/UserInformation.xaml.cs

22
MainWindow.xaml.cs

@ -31,6 +31,8 @@ namespace SunlightCentralizedControlManagement_SCCM_
{ {
public static string user_; public static string user_;
public static DataTable InfData = new DataTable(); public static DataTable InfData = new DataTable();
public UserInformation userInformation;
public MainWindow() public MainWindow()
{ {
DataContext = new MainWindowViewModel(); DataContext = new MainWindowViewModel();
@ -53,14 +55,22 @@ namespace SunlightCentralizedControlManagement_SCCM_
InfData.Columns.Add("Code", Type.GetType("System.String")); InfData.Columns.Add("Code", Type.GetType("System.String"));
InfData.Columns.Add("ID", Type.GetType("System.Int32")); InfData.Columns.Add("ID", Type.GetType("System.Int32"));
InfData.TableNewRow += new DataTableNewRowEventHandler(InfTable()); InfData.RowChanged += new DataRowChangeEventHandler(InfTable);//
} }
private void InfTable(object sender, DataTableNewRowEventArgs e) private void InfTable(object sender, DataRowChangeEventArgs e)//触发行改变事件
{ {
UserInformation userInformation = new UserInformation(); if (userInformation == null || !userInformation.IsLoaded)//窗口不存在及创建
userInformation.Topmost = true; {
userInformation.Show(); userInformation = new UserInformation();
userInformation.Activate(); userInformation.Topmost = true;
userInformation.Show();
userInformation.Activate();
}
else
{//窗口纯在及置顶
userInformation.Activate();
if (userInformation.WindowState == WindowState.Minimized) userInformation.WindowState = WindowState.Normal;
}
} }
private void ButtonPopUpLogout_Click(object sender, RoutedEventArgs e) private void ButtonPopUpLogout_Click(object sender, RoutedEventArgs e)

36
ViewModel/MainWindowViewModel.cs

@ -154,14 +154,20 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
public void CountDown() public void CountDown()
{ {
DispatcherTimer dis1s = new DispatcherTimer
{
Interval = TimeSpan.FromSeconds(1) //秒
};
dis1s.Tick += new EventHandler(Tick_Main_1S);//每执行的方法
dis1s.Start();//计时开始
DispatcherTimer dis50ms = new DispatcherTimer DispatcherTimer dis50ms = new DispatcherTimer
{ {
Interval = TimeSpan.FromMilliseconds(50) //毫秒 Interval = TimeSpan.FromMilliseconds(20) //毫秒
}; };
dis50ms.Tick += new EventHandler(DisTimer_50MS);//每执行的方法 dis50ms.Tick += new EventHandler(DisTimer_50MS);//每执行的方法
dis50ms.Start();//计时开始 dis50ms.Start();//计时开始
}//时间周期初始化 }//时间周期初始化
int Time1 = 0, Time5 = 0, Time60 = 0; int Time5 = 0, Time60 = 0;
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
{ {
if (stringQueue.Count > 0) //信息发送队列 if (stringQueue.Count > 0) //信息发送队列
@ -169,15 +175,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
QueueString t = stringQueue.Dequeue(); QueueString t = stringQueue.Dequeue();
MachiensTcpClient[t.ID].SendAsync(t.DAT); MachiensTcpClient[t.ID].SendAsync(t.DAT);
} }
if (Time1 >= 20)
{
Tick_Main_1S();
Time1 = 0;
}
else { Time1++; }
} }
void Tick_Main_1S()//Tick_Event周期执行事件1S void Tick_Main_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
{ {
//下传工单信息 //下传工单信息
SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径
@ -290,7 +289,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
});//信息插入队列 });//信息插入队列
} }
} }
if (Time5 > 5) if (Time5 > 5)
{ {
Tick_Event_5S(); Tick_Event_5S();
@ -300,7 +298,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
if (Time60 > 60) if (Time60 > 60)
{ {
Tick_Event_60S(); Tick_Event_60S();
Time60= 0; Time60 = 0;
} }
else { Time60++; } else { Time60++; }
} }
@ -317,6 +315,12 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
});//信息插入队列 });//信息插入队列
} }
}//发送800指令 }//发送800指令
MainWindow.InfData.Rows.Add(new object[] { "1", Properties.Resources.Pequest+"a", "423", "12" });
} }
void Tick_Event_60S() void Tick_Event_60S()
{ {
@ -357,14 +361,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
} }
} }
/* public static void Inf_Data()
{
UserInformation userInformation = new UserInformation();
userInformation.Topmost = true;
userInformation.Show();
userInformation.Activate();
}*/
public static string SYS_WorkNumder; //工单号 public static string SYS_WorkNumder; //工单号
public static int SYS_AT1; //附缸1-3 public static int SYS_AT1; //附缸1-3
public static int SYS_AT2; public static int SYS_AT2;

19
WindowsView/UserInformation.xaml

@ -7,21 +7,15 @@
xmlns:lang="clr-namespace:SunlightCentralizedControlManagement_SCCM_.Properties" xmlns:lang="clr-namespace:SunlightCentralizedControlManagement_SCCM_.Properties"
mc:Ignorable="d" mc:Ignorable="d"
Closing="Window_Closing" Closing="Window_Closing"
Title="UserInformation" Height="450" Width="800"> ResizeMode="NoResize"
WindowStyle="SingleBorderWindow"
Title="SUNLIGHT" Height="450" Width="800">
<Grid> <Grid>
<DataGrid x:Name="Griddata" AlternationCount="2" IsReadOnly="True" d:ItemsSource="{d:SampleData ItemCount=99}" <DataGrid x:Name="Griddata" AlternationCount="2" IsReadOnly="True" d:ItemsSource="{d:SampleData ItemCount=99}"
AutoGenerateColumns="False" MinColumnWidth="30" Background="White" GridLinesVisibility="All" AutoGenerateColumns="False" MinColumnWidth="30" Background="White" GridLinesVisibility="All"
ColumnHeaderHeight="50" HorizontalContentAlignment="Right" CanUserReorderColumns="False" ColumnHeaderHeight="60" HorizontalContentAlignment="Right" CanUserReorderColumns="False"
CanUserSortColumns="False" CanUserResizeRows="False" CanUserResizeColumns="False" CanUserSortColumns="False" CanUserResizeRows="False" CanUserResizeColumns="False"
CanUserDeleteRows="False" SelectionMode="Single" FontSize="25" Focusable="True" > CanUserDeleteRows="False" SelectionMode="Single" FontSize="30" Focusable="True" >
<DataGrid.RowStyle >
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Height" Value="60" />
<Setter Property="FontSize" Value="50" />
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="HorizontalAlignment" Value="Right"/>
</Style>
</DataGrid.RowStyle>
<DataGrid.CellStyle> <DataGrid.CellStyle>
<Style TargetType="DataGridCell"> <Style TargetType="DataGridCell">
<Setter Property="BorderThickness" Value="0"/> <Setter Property="BorderThickness" Value="0"/>
@ -50,13 +44,12 @@
</DataGrid.Resources> </DataGrid.Resources>
<DataGrid.Columns> <DataGrid.Columns>
<!--列信息绑定--> <!--列信息绑定-->
<DataGridTextColumn Header="{x:Static lang:Resources.Machine}" Binding="{Binding Machine}" Width="150" IsReadOnly="True"/> <DataGridTextColumn Header="{x:Static lang:Resources.Machine}" Binding="{Binding Machine}" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Code}" MaxWidth="0" IsReadOnly="True"/> <DataGridTextColumn Binding="{Binding Code}" MaxWidth="0" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding ID}" MaxWidth="0" IsReadOnly="True"/> <DataGridTextColumn Binding="{Binding ID}" MaxWidth="0" IsReadOnly="True"/>
<DataGridTextColumn Header="{x:Static lang:Resources.Information}" Binding="{Binding Information}" Width="*" IsReadOnly="True"/> <DataGridTextColumn Header="{x:Static lang:Resources.Information}" Binding="{Binding Information}" Width="*" IsReadOnly="True"/>
<DataGridTemplateColumn Width="100" CellTemplate="{StaticResource btnCell}"/> <DataGridTemplateColumn Width="100" CellTemplate="{StaticResource btnCell}"/>
</DataGrid.Columns> </DataGrid.Columns>
</DataGrid> </DataGrid>
</Grid> </Grid>
</Window> </Window>

13
WindowsView/UserInformation.xaml.cs

@ -35,13 +35,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.WindowsView
{ {
InitializeComponent(); 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; Griddata.ItemsSource = MainWindow.InfData.DefaultView;
synth.Rate = int.Parse( Configini.IniReadvalue("VOICE", "V1")); synth.Rate = int.Parse( Configini.IniReadvalue("VOICE", "V1"));
@ -61,18 +54,18 @@ namespace SunlightCentralizedControlManagement_SCCM_.WindowsView
Speak(); Speak();
} }
private void Speak() private void Speak()//语音
{ {
if (inf_cont < MainWindow.InfData.Rows.Count) if (inf_cont < MainWindow.InfData.Rows.Count)
{ {
synth.SpeakAsync(Properties.Resources.Machine + MainWindow.InfData.Rows[inf_cont][0].ToString() + synth.SpeakAsync(Properties.Resources.Machine + MainWindow.InfData.Rows[inf_cont][0].ToString() +
Properties.Resources.Pequest + MainWindow.InfData.Rows[inf_cont][1].ToString());//播报 MainWindow.InfData.Rows[inf_cont][1].ToString());//播报
inf_cont++; inf_cont++;
} }
else else
{ {
synth.SpeakAsync(Properties.Resources.Machine + MainWindow.InfData.Rows[0][0].ToString() + synth.SpeakAsync(Properties.Resources.Machine + MainWindow.InfData.Rows[0][0].ToString() +
Properties.Resources.Pequest + MainWindow.InfData.Rows[0][1].ToString());//播报 MainWindow.InfData.Rows[0][1].ToString());//播报
inf_cont = 0; inf_cont = 0;
} }
} }

Loading…
Cancel
Save