Browse Source

morkBF

样式分支
NXX 2 years ago
parent
commit
64a1465de4
9 changed files with 270 additions and 83 deletions
  1. +61
    -0
      BPASmartClient.Business/Plugin/LocalMqtt.cs
  2. +15
    -0
      BPASmartClient.Model/FoodMenuModel.cs
  3. +2
    -23
      BPASmartClient.MorkBF/Control_MorkBF.cs
  4. +74
    -59
      BPASmartClient.MorkBF/GVL_MorkBF.cs
  5. +1
    -0
      BPASmartClient.MorkBF/VIew/DebugView.xaml
  6. +30
    -0
      BPASmartClient.ViewModel/FoodMenuViewModel.cs
  7. +59
    -0
      BPASmartClient/Control/FoodMenuView.xaml
  8. +26
    -0
      BPASmartClient/Control/FoodMenuView.xaml.cs
  9. +2
    -1
      BPASmartClient/MainWindow.xaml

+ 61
- 0
BPASmartClient.Business/Plugin/LocalMqtt.cs View File

@@ -0,0 +1,61 @@
using BPASmartClient.MQTT;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPASmartClient.Business.Plugin
{
public class LocalMqtt : IPlugin
{

//客户端ID
private int clientId;
//运行标识
private bool running = false;
//MQTT 代理
private MQTTProxy mqttProxy = new MQTTProxy();

public void Dispose()
{
}

public void Initialize()
{
}

public void Start()
{
running = true;
//主题初始化
TopicDefine.GetInstance().Initialize(Plugin.GetInstance().GetPlugin<DeviceMgr>().GetDevices());
//MQTT 连接成功
mqttProxy.Connected = new Action(() =>
{
mqttProxy.Subscrib();
});
//MQTT 连接成功
mqttProxy.LostConnect = new Action(() =>
{
mqttProxy.Subscrib();
});
//MQTT 初始化
mqttProxy.Connect();
}

/// <summary>
/// MQTT消息推送
/// </summary>
/// <param name="topic">主题</param>
/// <param name="message">消息体</param>
public void Publish(string topic, string message)
{
mqttProxy.Publish(topic, message);
}
}
}

+ 15
- 0
BPASmartClient.Model/FoodMenuModel.cs View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPASmartClient.Model
{
public class FoodMenuModel
{
public string GoodName { get; set; }
public string GoodKey { get; set; }
}
}

+ 2
- 23
BPASmartClient.MorkBF/Control_MorkBF.cs View File

@@ -129,37 +129,16 @@ namespace BPASmartClient.MorkBF

public override void MainTask()
{
if(morkBF.FirePan1_Order.Count == 0&&!morkBF.FirePan1_Busy)
{
ThreadManage.GetInstance().Start(FirePot1_Process, "炒锅1主进程");
}

if (morkBF.FirePan2_Order.Count == 0 && !morkBF.FirePan2_Busy)
{
ThreadManage.GetInstance().Start(FirePot2_Process, "炒锅2主进程");
}
}

private void FirePot1_Process()
{
morkBF.FirePan1_Busy = true;
morkBF.FirePan1_Date = DateTime.Now;
while (morkBF.FirePan1_Date.AddMinutes(1)> DateTime.Now)
{
Thread.Sleep(500);
}
ThreadManage.GetInstance().StopTask("炒锅1主进程");
}

private void FirePot2_Process()
{
morkBF.FirePan2_Busy = true;
morkBF.FirePan2_Date = DateTime.Now;
while (morkBF.FirePan2_Date.AddMinutes(1) > DateTime.Now)
{
Thread.Sleep(500);
}
ThreadManage.GetInstance().StopTask("炒锅2主进程");
}

public override void ReadData()


+ 74
- 59
BPASmartClient.MorkBF/GVL_MorkBF.cs View File

@@ -9,7 +9,7 @@ using System.Threading.Tasks;

namespace BPASmartClient.MorkBF
{
internal class GVL_MorkBF
internal class GVL_MorkBF : IStatus
{
/// <summary>
/// 炒锅1订单队列
@@ -33,108 +33,108 @@ namespace BPASmartClient.MorkBF
/// 炒锅1锅低温度
/// </summary>
[VariableMonitor("炒锅1锅低温度", "VW120","160")]
public int FirePot1_Temperature;
public int FirePot1_Temperature { get; set; }
/// <summary>
/// 炒锅1脉冲值
/// </summary>
[VariableMonitor("炒锅1脉冲值", "VW122", "161")]
public int FirePot1_Pulse;
public int FirePot1_Pulse { get; set; }
/// <summary>
/// 炒锅1初始化完成
/// </summary>
[VariableMonitor("炒锅1初始化完成", "M20.0", "480")]
public bool FirePot1_InitCompleted = false;
public bool FirePot1_InitCompleted { get; set; } = false;

/// <summary>
/// 炒锅1手动自动模式
/// </summary>
[VariableMonitor("炒锅1手动自动模式", "M20.1", "481")]
public bool FirePot1_IsAuto;
public bool FirePot1_IsAuto { get; set; }
/// <summary>
/// 炒锅1急停
/// </summary>
[VariableMonitor("炒锅1急停", "M20.2", "482")]
public bool FirePot1_Emergencystop;
public bool FirePot1_Emergencystop{ get; set; }
/// <summary>
/// 1#炒锅荤菜盆有无检测
/// </summary>
[VariableMonitor("1#炒锅1锅低温度", "M20.3", "483")]
public bool FirePot1_MealTubExist;
public bool FirePot1_MealTubExist{ get; set; }
/// <summary>
/// 1#炒锅素菜盆1有无检测
/// </summary>
[VariableMonitor("炒锅素菜盆1有无检测", "M20.4", "484")]
public bool FirePot1_VegetablesTub1Exist;
public bool FirePot1_VegetablesTub1Exist{ get; set; }
/// <summary>
/// 1#炒锅素菜盆2有无检测
/// </summary>
[VariableMonitor("1#炒锅素菜盆2有无检测", "M20.5", "485")]
public bool FirePot1_VegetablesTub2Exist;
public bool FirePot1_VegetablesTub2Exist{ get; set; }
/// <summary>
/// 1#炒锅调料盆1有无检测
/// </summary>
[VariableMonitor("1#炒锅调料盆1有无检测", "M20.6", "486")]
public bool FirePot1_Seasoning1Exist;
public bool FirePot1_Seasoning1Exist{ get; set; }
/// <summary>
/// 1#炒锅调料盆2有无检测
/// </summary>
[VariableMonitor("1#炒锅调料盆2有无检测", "M20.7", "487")]
public bool FirePot1_Seasoning2Exist;
public bool FirePot1_Seasoning2Exist{ get; set; }
/// <summary>
/// 1#炒锅辅料盆1有无检测
/// </summary>
[VariableMonitor("1#炒锅辅料盆1有无检测", "M21.0", "488")]
public bool FirePot1_Accessories1Exist;
public bool FirePot1_Accessories1Exist{ get; set; }
/// <summary>
/// 1#炒锅辅料盆2有无检测
/// </summary>
[VariableMonitor("1#炒锅辅料盆2有无检测", "M21.1", "489")]
public bool FirePot1_Accessories2Exist;
public bool FirePot1_Accessories2Exist{ get; set; }
/// <summary>
/// 1#炒锅出餐空盆有无检测
/// </summary>
[VariableMonitor("1#炒锅出餐空盆有无检测", "M21.2", "490")]
public bool FirePot1_OutFoodTubExist;
public bool FirePot1_OutFoodTubExist{ get; set; }
/// <summary>
/// 1#炒锅在原点反馈
/// </summary>
[VariableMonitor("1#炒锅在原点反馈", "M21.3", "491")]
public bool FirePot1_OnOrigin;
public bool FirePot1_OnOrigin{ get; set; }
/// <summary>
/// 1#炒制位置1反馈
/// </summary>
[VariableMonitor("1#炒制位置1反馈", "M21.4", "492")]
public bool FirePot1_FirePosition1;
public bool FirePot1_FirePosition1{ get; set; }
/// <summary>
/// 1#炒制位置2反馈
/// </summary>
[VariableMonitor("1#炒制位置2反馈", "M21.5", "493")]
public bool FirePot1_FirePosition2;
public bool FirePot1_FirePosition2{ get; set; }
/// <summary>
/// 1#炒制位置3反馈
/// </summary>
[VariableMonitor("1#炒制位置3反馈", "M21.6", "494")]
public bool FirePot1_FirePosition3;
public bool FirePot1_FirePosition3{ get; set; }
/// <summary>
/// 1#炒制位置4反馈
/// </summary>
[VariableMonitor("1#炒制位置4反馈", "M21.7", "495")]
public bool FirePot1_FirePosition4;
public bool FirePot1_FirePosition4{ get; set; }
/// <summary>
/// 1#炒锅在出餐倒料位置反馈
/// </summary>
[VariableMonitor("1#炒锅在出餐倒料位置反馈", "M22.0", "496")]
public bool FirePot1_PotOnOutFoodPosition;
public bool FirePot1_PotOnOutFoodPosition{ get; set; }
/// <summary>
/// 1#炒锅在投料位置反馈、
/// </summary>
[VariableMonitor("1#炒锅在投料位置反馈", "M22.1", "497")]
public bool FirePot1_PotOnIntoFoodPosition;
public bool FirePot1_PotOnIntoFoodPosition{ get; set; }
/// <summary>
/// 1#炒锅在洗锅位置反馈
/// </summary>
[VariableMonitor("1#炒锅在洗锅位置反馈", "M22.2", "498")]
public bool FirePot1_PotOnCleanPosition;
public bool FirePot1_PotOnCleanPosition{ get; set; }
#endregion

#region 炒锅2读取数据
@@ -142,139 +142,146 @@ namespace BPASmartClient.MorkBF
/// 炒锅2锅低温度
/// </summary>
[VariableMonitor("炒锅2锅低温度", "VW150", "175")]
public int FirePot2_Temperature;
public int FirePot2_Temperature{ get; set; }
/// <summary>
/// 炒锅2脉冲值
/// </summary>
[VariableMonitor("炒锅2脉冲值", "VW152", "176")]
public int FirePot2_Pulse;
public int FirePot2_Pulse{ get; set; }
/// <summary>
/// 炒锅2初始化完成
/// </summary>
[VariableMonitor("炒锅2初始化完成", "M25.0", "520")]
public bool FirePot2_InitCompleted = false;
public bool FirePot2_InitCompleted { get; set; } = false;

/// <summary>
/// 炒锅2手动自动模式
/// </summary>
[VariableMonitor("炒锅2手动自动模式", "M25.1", "521")]
public bool FirePot2_IsAuto;
public bool FirePot2_IsAuto{ get; set; }
/// <summary>
/// 炒锅2急停
/// </summary>
[VariableMonitor("炒锅2急停", "M25.2", "522")]
public bool FirePot2_Emergencystop;
public bool FirePot2_Emergencystop{ get; set; }
/// <summary>
/// 2#炒锅荤菜盆有无检测
/// </summary>
[VariableMonitor("2#炒锅荤菜盆有无检测", "M25.3", "523")]
public bool FirePot2_MealTubExist;
public bool FirePot2_MealTubExist{ get; set; }
/// <summary>
/// 2#炒锅素菜盆1有无检测
/// </summary>
[VariableMonitor("2#炒锅素菜盆1有无检测", "M25.4", "524")]
public bool FirePot2_VegetablesTub1Exist;
public bool FirePot2_VegetablesTub1Exist{ get; set; }
/// <summary>
/// 2#炒锅素菜盆2有无检测
/// </summary>
[VariableMonitor("2#炒锅素菜盆2有无检测", "M25.5", "525")]
public bool FirePot2_VegetablesTub2Exist;
public bool FirePot2_VegetablesTub2Exist{ get; set; }
/// <summary>
/// 2#炒锅调料盆1有无检测
/// </summary>
[VariableMonitor("2#炒锅调料盆1有无检测", "M25.6", "526")]
public bool FirePot2_Seasoning1Exist;
public bool FirePot2_Seasoning1Exist{ get; set; }
/// <summary>
/// 2#炒锅调料盆2有无检测
/// </summary>
[VariableMonitor("2#炒锅调料盆2有无检测", "M25.7", "527")]
public bool FirePot2_Seasoning2Exist;
public bool FirePot2_Seasoning2Exist{ get; set; }
/// <summary>
/// 2#炒锅辅料盆1有无检测
/// </summary>
[VariableMonitor("2#炒锅1锅低温度", "M26.0", "528")]
public bool FirePot2_Accessories1Exist;
public bool FirePot2_Accessories1Exist{ get; set; }
/// <summary>
/// 2#炒锅辅料盆2有无检测
/// </summary>
[VariableMonitor("2#炒锅辅料盆2有无检测", "M26.1", "529")]
public bool FirePot2_Accessories2Exist;
public bool FirePot2_Accessories2Exist{ get; set; }
/// <summary>
/// 2#炒锅出餐空盆有无检测
/// </summary>
[VariableMonitor("2#炒锅出餐空盆有无检测", "M26.2", "530")]
public bool FirePot2_OutFoodTubExist;
public bool FirePot2_OutFoodTubExist{ get; set; }
/// <summary>
/// 2#炒锅在原点反馈
/// </summary>
[VariableMonitor("2#炒锅在原点反馈", "M26.3", "531")]
public bool FirePot2_OnOrigin;
public bool FirePot2_OnOrigin{ get; set; }
/// <summary>
/// 2#炒制位置1反馈
/// </summary>
[VariableMonitor("2#炒制位置1反馈", "M26.4", "532")]
public bool FirePot2_FirePosition1;
public bool FirePot2_FirePosition1{ get; set; }
/// <summary>
/// 2#炒制位置2反馈
/// </summary>
[VariableMonitor("2#炒制位置2反馈", "M26.5", "533")]
public bool FirePot2_FirePosition2;
public bool FirePot2_FirePosition2{ get; set; }
/// <summary>
/// 2#炒制位置3反馈
/// </summary>
[VariableMonitor("2#炒制位置3反馈", "M26.6", "534")]
public bool FirePot2_FirePosition3;
public bool FirePot2_FirePosition3{ get; set; }
/// <summary>
/// 2#炒制位置4反馈
/// </summary>
[VariableMonitor("2#炒制位置4反馈", "M26.7", "535")]
public bool FirePot2_FirePosition4;
public bool FirePot2_FirePosition4{ get; set; }
/// <summary>
/// 2#炒锅在出餐倒料位置反馈
/// </summary>
[VariableMonitor("2#炒锅在出餐倒料位置反馈", "M27.0", "536")]
public bool FirePot2_PotOnOutFoodPosition;
public bool FirePot2_PotOnOutFoodPosition{ get; set; }
/// <summary>
/// 2#炒锅在投料位置反馈、
/// </summary>
[VariableMonitor("2#炒锅在投料位置反馈", "M27.1", "537")]
public bool FirePot2_PotOnIntoFoodPosition;
public bool FirePot2_PotOnIntoFoodPosition{ get; set; }
/// <summary>
/// 2#炒锅在洗锅位置反馈
/// </summary>
[VariableMonitor("2#炒锅在洗锅位置反馈", "M27.2", "538")]
public bool FirePot2_PotOnCleanPosition;
public bool FirePot2_PotOnCleanPosition{ get; set; }
#endregion

#region 机器人数据读取
/// <summary>
/// 1号锅倒荤菜完成
/// </summary>
public bool Robot_FirePot1OutMeal;
[VariableMonitor("1号锅倒荤菜完成", "GM500", "4596")]
public bool Robot_FirePot1OutMeal{ get; set; }
/// <summary>
/// 1号炒锅倒素菜1完成
/// </summary>
public bool Robot_FirePot1OutVegetables1;
[VariableMonitor("1号炒锅倒素菜1完成", "GM501", "4597")]
public bool Robot_FirePot1OutVegetables1{ get; set; }
/// <summary>
/// 1号炒锅倒素菜2完成
/// </summary>
public bool Robot_FirePot1OutVegetables2;
[VariableMonitor("1号炒锅倒素菜2完成", "GM502", "4598")]
public bool Robot_FirePot1OutVegetables2{ get; set; }
/// <summary>
/// 1号炒锅倒调料完成
/// </summary>
public bool Robot_FirePot1OutSeasoning;
[VariableMonitor("1号炒锅倒调料完成", "GM503", "4599")]
public bool Robot_FirePot1OutSeasoning{ get; set; }
/// <summary>
/// 1号炒锅倒辅料完成
/// </summary>
public bool Robot_FirePot1OutAccessories;
[VariableMonitor("1号炒锅倒辅料完成", "GM504", "4600")]
public bool Robot_FirePot1OutAccessories{ get; set; }
/// <summary>
/// 机器人到位,请求1#炒锅倒菜
/// </summary>
public bool Robot_ArriveFirePot1;
[VariableMonitor("机器人到位,请求1#炒锅倒菜", "GM505", "4601")]
public bool Robot_ArriveFirePot1{ get; set; }
/// <summary>
/// 1号炒锅出餐完成
/// </summary>
public bool Robot_FirePot1OutFoodComplete;
[VariableMonitor("1号炒锅出餐完成", "GM506", "4602")]
public bool Robot_FirePot1OutFoodComplete{ get; set; }



@@ -283,35 +290,43 @@ namespace BPASmartClient.MorkBF
/// <summary>
/// 2号锅倒荤菜完成
/// </summary>
public bool Robot_FirePot2OutMeal;
[VariableMonitor("2号锅倒荤菜完成", "GM510", "4606")]
public bool Robot_FirePot2OutMeal { get; set; }
/// <summary>
/// 2号炒锅倒素菜1完成
/// </summary>
public bool Robot_FirePot2OutVegetables1;
[VariableMonitor("2号炒锅倒素菜1完成", "GM511", "4607")]
public bool Robot_FirePot2OutVegetables1{ get; set; }
/// <summary>
/// 2号炒锅倒素菜2完成
/// </summary>
public bool Robot_FirePot2OutVegetables2;
[VariableMonitor("2号炒锅倒素菜2完成", "GM512", "4608")]
public bool Robot_FirePot2OutVegetables2{ get; set; }
/// <summary>
/// 2号炒锅倒调料完成
/// </summary>
public bool Robot_FirePot2OutSeasoning;
[VariableMonitor("2号炒锅倒调料完成", "GM513", "4609")]
public bool Robot_FirePot2OutSeasoning{ get; set; }
/// <summary>
/// 2号炒锅倒辅料完成
/// </summary>
public bool Robot_FirePot2OutAccessories;
/// </summary>
[VariableMonitor("2号炒锅倒辅料完成", "GM514", "4610")]
public bool Robot_FirePot2OutAccessories{ get; set; }
/// <summary>
/// 机器人到位,请求1#炒锅倒菜
/// </summary>
public bool Robot_ArriveFirePot2;
[VariableMonitor("机器人到位,请求1#炒锅倒菜", "GM515", "4611")]
public bool Robot_ArriveFirePot2{ get; set; }
/// <summary>
/// 2号炒锅出餐完成
/// </summary>
public bool Robot_FirePot2OutFoodComplete;
[VariableMonitor("2号炒锅出餐完成", "GM516", "4612")]
public bool Robot_FirePot2OutFoodComplete{ get; set; }
/// <summary>
/// 机器人动作反馈
/// </summary>
public int Robot_ActionCallback;
[VariableMonitor("机器人动作反馈", "GI5", "5")]
public int Robot_ActionCallback{ get; set; }

#endregion



+ 1
- 0
BPASmartClient.MorkBF/VIew/DebugView.xaml View File

@@ -6,6 +6,7 @@
xmlns:local="clr-namespace:BPASmartClient.MorkBF.VIew"
xmlns:vm="clr-namespace:BPASmartClient.MorkBF.ViewModel"
mc:Ignorable="d"
Name="调试界面"
d:DesignHeight="900" d:DesignWidth="1600">
<UserControl.DataContext>
<vm:DebugViewModel/>


+ 30
- 0
BPASmartClient.ViewModel/FoodMenuViewModel.cs View File

@@ -0,0 +1,30 @@
using BPASmartClient.Helper;
using BPASmartClient.Model;
using Microsoft.Toolkit.Mvvm.ComponentModel;
using Microsoft.Toolkit.Mvvm.Input;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPASmartClient.ViewModel
{
public class FoodMenuViewModel: ObservableObject
{
public ObservableCollection<FoodMenuModel> FoodMenus { get; set; } = new ObservableCollection<FoodMenuModel>();

public RelayCommand<object> StartOrder { get; set; }

public FoodMenuViewModel()
{
FoodMenus.Add(new FoodMenuModel { GoodKey = "1111", GoodName = "小炒肉" });
FoodMenus.Add(new FoodMenuModel { GoodKey = "222", GoodName = "大炒肉大炒肉大炒肉" });
StartOrder = new RelayCommand<object>((o) =>
{
ActionManage.GetInstance.Send("开始下单", o);
});
}
}
}

+ 59
- 0
BPASmartClient/Control/FoodMenuView.xaml View File

@@ -0,0 +1,59 @@
<UserControl x:Class="BPASmartClient.Control.FoodMenuView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Control"
xmlns:vm="clr-namespace:BPASmartClient.ViewModel;assembly=BPASmartClient.ViewModel"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.DataContext>
<vm:FoodMenuViewModel/>
</UserControl.DataContext>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/BPASmartClient.CustomResource;component/Themes/GenricStyle.xaml" />
<ResourceDictionary Source="/BPASmartClient.CustomResource;component/Themes/MyStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid Margin="50">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="250"/>
<ColumnDefinition Width="120"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="菜品ID" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="菜品名称" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="下单" HorizontalAlignment="Center"/>
</Grid>
<ListBox Grid.Row="1" Background="Transparent" ItemsSource="{Binding FoodMenus}" HorizontalAlignment="Center" >
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type ListBoxItem}">
<Grid HorizontalAlignment="Center" Height="50" VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="250"/>
<ColumnDefinition Width="120"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontSize="16" Text="{Binding GoodKey}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" FontSize="18" Text="{Binding GoodName}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Button Grid.Column="2" Width="120" Content="下单" HorizontalAlignment="Center" VerticalAlignment="Center" Height="30"
Command="{Binding DataContext.StartOrder, RelativeSource={RelativeSource AncestorType=UserControl,Mode=FindAncestor}}"
CommandParameter="{Binding GoodKey}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Grid>
</UserControl>

+ 26
- 0
BPASmartClient/Control/FoodMenuView.xaml.cs View File

@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Text;
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.Navigation;
using System.Windows.Shapes;

namespace BPASmartClient.Control
{
/// <summary>
/// FoodMenuView.xaml 的交互逻辑
/// </summary>
public partial class FoodMenuView : UserControl
{
public FoodMenuView()
{
InitializeComponent();
}
}
}

+ 2
- 1
BPASmartClient/MainWindow.xaml View File

@@ -288,6 +288,7 @@
Margin="5,0,5,0"
Content="验证设备"
IsChecked="{Binding IsVerty}" />
<Button Content="本地菜单" Margin="10,0" Cursor="Hand" Click= "MenuItem_Click" Tag="FoodMenuView"/>
<!--<Button
Name="init" Margin="5,0,5,0"
Grid.Row="0"
@@ -315,7 +316,7 @@
</TextBlock>

<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
<TextBlock FontSize="16" Text="当前订单量:" />
<TextBlock
Margin="0,0,5,0"


Loading…
Cancel
Save