Commit d9662735 authored by 潘栩锋's avatar 潘栩锋 🚴

Flyad7_WPF 测试 TimeGridAdv

parent ba757040
......@@ -445,7 +445,7 @@ namespace FlyADBase
/// </summary>
/// <param name="gridAdvUnits"></param>
/// <param name="dat"></param>
public void ToGrid(List<GridAdvUnit> gridAdvUnits, out int[] dat)
public void ToGrid(IEnumerable<GridAdvUnit> gridAdvUnits, out int[] dat)
{
dat = mTimeGridAdvHelper.ToGrid(gridAdvUnits, PosOfGrid, SGrid.GRID_MAX_SIZE);
}
......
......@@ -129,7 +129,7 @@ namespace FlyADBase
/// </summary>
/// <param name="gridAdvUnits"></param>
/// <param name="dat"></param>
void ToGrid(List<GridAdvUnit> gridAdvUnits, out int[] dat);
void ToGrid(IEnumerable<GridAdvUnit> gridAdvUnits, out int[] dat);
/// <summary>
/// 动作完成
/// </summary>
......
......@@ -515,7 +515,7 @@ namespace FlyADBase
/// <param name="posOfGrid"></param>
/// <param name="gridLen"></param>
/// <returns></returns>
public int[] ToGrid(List<GridAdvUnit> gridAdvUnits, int posOfGrid, int gridLen)
public int[] ToGrid(IEnumerable<GridAdvUnit> gridAdvUnits, int posOfGrid, int gridLen)
{
int[] grids_sum = new int[gridLen];
int[] grids_cnt = new int[gridLen];
......
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
namespace Flyad7_WPF.Converters
{
public class BinConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string index_str = (string)parameter;
if (!int.TryParse(index_str, out int index))
{
index = 0;
}
if (index < 0)
index = 0;
if (index > 15)
index = 15;
if (!(value is UInt16))
return null;
UInt16 v = (UInt16)value;
if (Misc.MyBase.CHECKBIT(v, index))
{
return 1;
}
else
{
return 0;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
namespace Flyad7_WPF.Converters
{
public class BytesConverter : IValueConverter
{
#region IValueConverter 成员
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
byte[] bs = (byte[])value;
string str = "";
for (int i = 0; i < bs.Length; i++)
str += bs[i].ToString("X2");
return str;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string str = (string)value;
string h = "";
List<byte> bs = new List<byte>();
for (int i = 0; i < str.Length; i++)
{
if (str[i] != ' ')
h += str[i];
if (((str[i] == ' ') && (h.Length != 0)) ||
(h.Length >= 2))
{
byte b = 0;
if (byte.TryParse(h, System.Globalization.NumberStyles.AllowHexSpecifier, null, out b))
{
bs.Add(b);
}
else
{
break;
}
h = "";
}
}
return bs.ToArray();
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
namespace Flyad7_WPF.Converters
{
public class IO2BinConverter : IValueConverter
{
#region IValueConverter 成员
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
UInt16 io = (UInt16)value;
string str = System.Convert.ToString(io, 2);
return str.PadLeft(16, '0');
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return System.Convert.ToUInt16((string)value, 2);
}
#endregion
}
}
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Flyad7_WPF.Converters">
<local:BytesConverter x:Key="bytesconv"/>
<local:IO2BinConverter x:Key="io2bin"/>
<local:BinConverter x:Key="binConv"/>
</ResourceDictionary>
\ No newline at end of file
......@@ -38,7 +38,7 @@ namespace Flyad7_WPF
public UInt32 HVelocity2;
public int PosLen;
public int ADLag;
public int ADLag { get; set; }
#region INotifyPropertyChanged 成员
public event PropertyChangedEventHandler PropertyChanged;
......@@ -77,6 +77,7 @@ namespace Flyad7_WPF
{
string json = File.ReadAllText(file_path);
var param = JsonConvert.DeserializeObject<DebugAppParamJsonDB>(json);
EPStr = param.EPStr;
HasTimeGrid = param.HasTimeGrid;
HasGrid = param.HasGrid;
......
......@@ -73,8 +73,14 @@
</ApplicationDefinition>
<Compile Include="AutoForwBackw.cs" />
<Compile Include="AutoSync.cs" />
<Compile Include="Converters\BinConverter.cs" />
<Compile Include="Converters\BytesConverter.cs" />
<Compile Include="Converters\IO2BinConverter.cs" />
<Compile Include="DebugAppParam.cs" />
<Compile Include="FlyADClientUI.cs" />
<Compile Include="Window1.xaml.cs">
<DependentUpon>Window1.xaml</DependentUpon>
</Compile>
<Compile Include="Window_InitArea.xaml.cs">
<DependentUpon>Window_InitArea.xaml</DependentUpon>
</Compile>
......@@ -87,6 +93,10 @@
<Compile Include="Window_sync_graph.xaml.cs">
<DependentUpon>Window_sync_graph.xaml</DependentUpon>
</Compile>
<Page Include="Converters\MyConv.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
......@@ -99,6 +109,10 @@
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Page Include="Window1.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Window_InitArea.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
......
......@@ -3,19 +3,23 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:flyadbase="clr-namespace:FlyADBase;assembly=FlyADBase"
xmlns:local="clr-namespace:Flyad7_WPF"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Chr="clr-namespace:System.Windows.Forms.DataVisualization.Charting;assembly=System.Windows.Forms.DataVisualization"
Title="MainWindow" Height="606" Width="1161">
Title="MainWindow" Height="606" Width="1161" d:DataContext="{d:DesignInstance Type=flyadbase:FlyAD7}">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Converters/MyConv.xaml"/>
</ResourceDictionary.MergedDictionaries>
<ObjectDataProvider MethodName="GetValues" ObjectType="{x:Type sys:Enum}" x:Key="MOTORTYPE">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="flyadbase:MOTORTYPE" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<local:IO2BinConverter x:Key="io2bin"></local:IO2BinConverter>
<local:BytesConverter x:Key="bytesconv">
</local:BytesConverter>
<Style TargetType="TextBlock" x:Key="TextBlockStyle_groupTitle">
<Setter Property="FontSize" Value="16" />
</Style>
......@@ -122,11 +126,11 @@
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource TextBlockStyle_itemTitle}" Text="输入" />
<TextBox Style="{StaticResource TextBoxStyle_itemContent}" Text="{Binding IStatus,Converter={StaticResource ResourceKey=io2bin}}" IsEnabled="False" Width="121" />
<TextBox Style="{StaticResource TextBoxStyle_itemContent}" Text="{Binding IStatus,Mode=OneWay,Converter={StaticResource ResourceKey=io2bin}}" IsEnabled="False" Width="120" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource TextBlockStyle_itemTitle}" Text="输出" />
<TextBox Style="{StaticResource TextBoxStyle_itemContent}" Text="{Binding OStatus,Converter={StaticResource ResourceKey=io2bin}}" IsEnabled="False" Width="120" />
<TextBox Style="{StaticResource TextBoxStyle_itemContent}" Text="{Binding OStatus,Mode=OneWay,Converter={StaticResource ResourceKey=io2bin}}" IsEnabled="False" Width="120" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Style="{StaticResource ButtonStyle}" Content="输出设置" Click="button_output_Click" />
......@@ -140,10 +144,10 @@
<Setter Property="Margin" Value="3"/>
</Style>
</StackPanel.Resources>
<Button Style="{StaticResource ButtonStyle_Bit}" x:Name="button_bit3" Content="1" Click="button_setbit_Click" />
<Button Style="{StaticResource ButtonStyle_Bit}" x:Name="button_bit2" Content="1" Click="button_setbit_Click" />
<Button Style="{StaticResource ButtonStyle_Bit}" x:Name="button_bit1" Content="1" Click="button_setbit_Click" />
<Button Style="{StaticResource ButtonStyle_Bit}" x:Name="button_bit0" Content="1" Click="button_setbit_Click" />
<Button Style="{StaticResource ButtonStyle_Bit}" x:Name="button_bit3" Content="{Binding OStatus,Converter={StaticResource binConv}, ConverterParameter=3}" Tag="3" Click="button_setbit_Click" />
<Button Style="{StaticResource ButtonStyle_Bit}" x:Name="button_bit2" Content="{Binding OStatus,Converter={StaticResource binConv}, ConverterParameter=2}" Tag="2" Click="button_setbit_Click" />
<Button Style="{StaticResource ButtonStyle_Bit}" x:Name="button_bit1" Content="{Binding OStatus,Converter={StaticResource binConv}, ConverterParameter=1}" Tag="1" Click="button_setbit_Click" />
<Button Style="{StaticResource ButtonStyle_Bit}" x:Name="button_bit0" Content="{Binding OStatus,Converter={StaticResource binConv}, ConverterParameter=0}" Tag="0" Click="button_setbit_Click" />
</StackPanel>
</StackPanel>
</GroupBox>
......
......@@ -33,7 +33,7 @@ namespace Flyad7_WPF
AutoForwBackw autofb;
FlyADClientUI flyad_clientui;
AutoSync mAutoSync;
int timeGridAdvIndex = 0;
public MainWindow()
{
InitializeComponent();
......@@ -64,24 +64,6 @@ namespace Flyad7_WPF
flyad.TimeGridEvent += flyad_TimeGridEvent;
flyad.TimeGridAdvEvent += flyad_TimeGridAdvEvent;
flyad.PropertyChanged += (s, e) =>
{
if (e.PropertyName == "OStatus")
{
Button[] bit = new Button[4] { button_bit0, button_bit1, button_bit2, button_bit3 };
for (int i = 0; i < bit.Length; i++)
{
if (Misc.MyBase.CHECKBIT(flyad.OStatus, i))
{
bit[i].Content = "1";
}
else
{
bit[i].Content = "0";
}
}
}
};
param.PropertyChanged += (s, e) =>
{
param.Save();
......@@ -101,39 +83,6 @@ namespace Flyad7_WPF
}
private void flyad_TimeGridAdvEvent(object sender, TimeGridAdvEventArgs e)
{
Series series_pos = chart3.Series[0];
Series series_ad = chart3.Series[1];
while (series_pos.Points.Count() > 5000)
{
series_pos.Points.RemoveAt(0);
}
while (series_ad.Points.Count() > 5000)
{
series_ad.Points.RemoveAt(0);
}
foreach (var data in e.Data)
{
int pos = data.pos;
int ad = data.ad;
DateTime dt = data.dt;
series_pos.Points.AddY(pos);
DataPoint p = series_pos.Points.Last();
p.AxisLabel = $"{dt:ss.ff}";
series_ad.Points.AddY(ad);
p = series_ad.Points.Last();
p.AxisLabel = $"{dt:ss.ff}";
}
chart3.ChartAreas[0].AxisX.Minimum = 0;
chart3.ChartAreas[0].AxisX.Maximum = e.Data.Count();
}
/// <summary>
/// grid图
......@@ -279,44 +228,27 @@ namespace Flyad7_WPF
//
// chart1
//
chartArea1.Name = "chartArea1";
chartArea1.AxisX.LabelStyle.Font = new System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Bold);
chartArea1.AxisX.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
chartArea1.AxisX.MajorGrid.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
chartArea1.AxisX.IsLabelAutoFit = true;
chartArea1.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.DecreaseFont;
chartArea1.AxisX.IntervalAutoMode = System.Windows.Forms.DataVisualization.Charting.IntervalAutoMode.VariableCount;
chartArea1.AxisY.LabelStyle.Font = new System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Bold);
chartArea1.AxisY.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
chartArea1.AxisY.MajorGrid.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
chartArea1.AxisY2.LabelStyle.Font = new System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Bold);
chartArea1.AxisY2.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
chartArea1.AxisY2.MajorGrid.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
chartArea1.BackColor = System.Drawing.Color.OldLace;
//chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom;
//chartArea1.BackSecondaryColor = System.Drawing.Color.White;
chartArea1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
chartArea1.BorderDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Solid;
chartArea1.Name = "Default";
chartArea1.ShadowColor = System.Drawing.Color.Transparent;
chartArea1.CursorX.IsUserEnabled = true;
chartArea1.CursorX.IsUserSelectionEnabled = true;
chartArea1.CursorX.SelectionColor = System.Drawing.SystemColors.Highlight;
//chartArea1.CursorY.IsUserEnabled = true;
//chartArea1.CursorY.IsUserSelectionEnabled = true;
//chartArea1.CursorY.SelectionColor = System.Drawing.SystemColors.Highlight;
//对数坐标
//chartArea1.AxisY.IsLogarithmic = true;
//chartArea1.AxisY.LogarithmBase = Math.E;
this.chart3.ChartAreas.Add(chartArea1);
chart3.ChartAreas.Add(chartArea1);
legend1.Name = "Default";
legend1.BackColor = System.Drawing.Color.Transparent;
legend1.Enabled = true;
legend1.Font = new System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Bold);
......@@ -325,10 +257,9 @@ namespace Flyad7_WPF
legend1.IsDockedInsideChartArea = true;
legend1.DockedToChartArea = chartArea1.Name;
//legend1.IsTextAutoFit = false;
legend1.Name = "Default";
chart3.Legends.Add(legend1);
series1.Name = "Series 1";
series1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(180)))), ((int)(((byte)(26)))), ((int)(((byte)(59)))), ((int)(((byte)(105)))));
series1.BorderWidth = 3;
......@@ -336,41 +267,37 @@ namespace Flyad7_WPF
series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
series1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(65)))), ((int)(((byte)(140)))), ((int)(((byte)(240)))));
series1.Legend = legend1.Name;
series1.LegendText = "脉冲";
//series1.MarkerSize = 8;
//series1.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle;
series1.LegendText = "Series 1";
series1.ShadowColor = System.Drawing.Color.Black;
series1.ShadowOffset = 2;
series1.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
series1.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
chart3.Series.Add(series1);
series2.Name = "Series 2";
series2.BorderColor = System.Drawing.Color.DarkRed;
series2.BorderColor = System.Drawing.Color.Pink;
series2.BorderWidth = 3;
series2.ChartArea = chartArea1.Name;
series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
series2.Color = System.Drawing.Color.Red;
series2.Legend = legend1.Name;
series2.LegendText = "AD";
//series1.MarkerSize = 8;
//series1.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle;
series2.LegendText = "Series 2";
series2.ShadowColor = System.Drawing.Color.Black;
series2.ShadowOffset = 2;
series2.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
series2.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
series2.YAxisType = AxisType.Secondary;
chart3.Series.Add(series1);
chart3.Series.Add(series2);
chart3.BackColor = System.Drawing.Color.Transparent;
//this.chart1.Location = new System.Drawing.Point(16, 32);
chart3.Name = "chart3";
chart3.BackColor = System.Drawing.Color.Transparent;
}
#region grid
void flyad_GridEvent(object sender, MiniGridEventArgs e)
{
if (param.HasGrid)
{
if (!param.HasGrid)
return;
run_gridmarker.Text = e.marker.ToString();
......@@ -378,14 +305,8 @@ namespace Flyad7_WPF
System.Windows.Forms.DataVisualization.Charting.Series series_backw = chart1.Series["Series 2"];
System.Windows.Forms.DataVisualization.Charting.Series series;
if (e.direction == DIRECTION.FORWARD)
{
series = series_forw;
}
else
{
series = series_backw;
}
series = (e.direction == DIRECTION.FORWARD) ? series_forw : series_backw;
series.Points.Clear();
int gridLen = flyad.PosLen / flyad.PosOfGrid;
......@@ -403,8 +324,38 @@ namespace Flyad7_WPF
chart1.ChartAreas[0].AxisX.Minimum = 0;
chart1.ChartAreas[0].AxisX.Maximum = flyad.PosLen;
}
private void flyad_TimeGridAdvEvent(object sender, TimeGridAdvEventArgs e)
{
if (!param.HasGridAdv)
return;
flyad.ToGrid(e.Data, out int[] datas);
//画图
timeGridAdvIndex++;
if (timeGridAdvIndex >= chart3.Series.Count())
timeGridAdvIndex = 0;
System.Windows.Forms.DataVisualization.Charting.Series series = chart3.Series[timeGridAdvIndex];
series.Points.Clear();
int gridLen = flyad.PosLen / flyad.PosOfGrid;
for (int i = 0; i < datas.Length; i++)
{
int pos = i * flyad.PosOfGrid;
int ad = datas[i];
series.Points.AddXY(pos, ad);
if (ad == Misc.MyBase.NULL_VALUE)
series.Points[i].IsEmpty = true;
}
chart1.ChartAreas[0].AxisX.Minimum = 0;
chart1.ChartAreas[0].AxisX.Maximum = flyad.PosLen;
}
private void button_cleargrid_Click(object sender, RoutedEventArgs e)
{
System.Windows.Forms.DataVisualization.Charting.Series series_forw = chart1.Series["Series 1"];
......@@ -577,11 +528,6 @@ namespace Flyad7_WPF
private void button3_Click(object sender, RoutedEventArgs e)
{
flyad.UpdateParam();
}
private void button_initarea_Click(object sender, RoutedEventArgs e)
{
......@@ -641,18 +587,14 @@ namespace Flyad7_WPF
private void button_setbit_Click(object sender, RoutedEventArgs e)
{
Button[] bit = new Button[4] { button_bit0, button_bit1, button_bit2, button_bit3 };
for (int i = 0; i < bit.Length; i++)
{
if (sender == bit[i])
{
if (Misc.MyBase.CHECKBIT(flyad.OStatus, i))
flyad.SetOutputBit(i, false);
var btn = sender as Button;
if (!int.TryParse((btn.Tag as string), out int index))
return;
if (Misc.MyBase.CHECKBIT(flyad.OStatus, index))
flyad.SetOutputBit(index, false);
else
flyad.SetOutputBit(i, true);
break;
}
}
flyad.SetOutputBit(index, true);
}
......@@ -666,74 +608,6 @@ namespace Flyad7_WPF
flyad.RuntoMax();
}
}
public class IO2BinConverter : IValueConverter
{
#region IValueConverter 成员
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
UInt16 io = (UInt16)value;
string str = System.Convert.ToString(io, 2);
return str.PadLeft(16, '0');
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return System.Convert.ToUInt16((string)value, 2);
}
#endregion
}
public class BytesConverter : IValueConverter
{
#region IValueConverter 成员
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
byte[] bs = (byte[])value;
string str = "";
for (int i = 0; i < bs.Length; i++)
str += bs[i].ToString("X2");
return str;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string str = (string)value;
string h="";
List<byte> bs=new List<byte>();
for (int i = 0; i < str.Length; i++)
{
if (str[i] != ' ')
h += str[i];
if (((str[i] == ' ') && (h.Length != 0)) ||
(h.Length >= 2) )
{
byte b=0;
if (byte.TryParse(h, System.Globalization.NumberStyles.AllowHexSpecifier, null, out b))
{
bs.Add(b);
}
else
{
break;
}
h = "";
}
}
return bs.ToArray();
}
#endregion
}
}
<Window x:Class="Flyad7_WPF.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Flyad7_WPF"
mc:Ignorable="d"
Title="Window1" Height="450" Width="800">
<Grid>
</Grid>
</Window>
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.Imaging;
using System.Windows.Shapes;
namespace Flyad7_WPF
{
/// <summary>
/// Window1.xaml 的交互逻辑
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
}
}
using System;
using Flyad7_WPF.Converters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
......

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.106
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.ModbusMapper", "Project.FLY.ModbusMapper\FLY.ModbusMapper\FLY.ModbusMapper.csproj", "{6D4B9BDA-2A66-4583-B244-758BC4213D9F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.ControlLibrary", "Project.FLY.ControlLibrary\FLY.ControlLibrary\FLY.ControlLibrary.csproj", "{119C3ADC-F8E1-4F72-B89B-006236FF8586}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OBJComponents", "Project.FLY.OBJComponents\OBJComponents\OBJComponents.csproj", "{A539505D-9AC0-426B-A9A0-197DF50598B0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Misc", "Project.FLY.Misc\MISC\Misc.csproj", "{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FObjBase", "Project.FLY.FObjSys\FObjSys\FObjBase.csproj", "{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Thick", "Thick", "{1262AB40-4503-469A-A00B-50C1AE6A3BA6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.Thick.Base", "Project.FLY.Thick.Base\FLY.Thick.Base\FLY.Thick.Base.csproj", "{91A1AAFE-A528-4C2E-A48A-9259E780255A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.Thick.Base.UI", "Project.FLY.Thick.Base\FLY.Thick.Base.UI\FLY.Thick.Base.UI.csproj", "{EC84265E-4196-4834-8AC0-81956777C5E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.ModbusModule", "Project.FLY.ModbusModule\FLY.ModbusModule\FLY.ModbusModule.csproj", "{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.Thick.BulkDataModule", "Project.FLY.Thick.BulkData\FLY.Thick.BulkData\FLY.Thick.BulkDataModule.csproj", "{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.UI.Module", "Project.FLY.UI.Module\FLY.UI.Module\FLY.UI.Module.csproj", "{4DF79671-E814-49BD-864D-8257D6C6E072}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FLY.AppHelper", "Project.FLY.AppHelper\FLY.AppHelper\FLY.AppHelper.csproj", "{9C46D98F-6500-490B-9E56-C89DFFFA05F8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlyADBase", "Project.FLY.FlyADBase\FlyADBase\FlyADBase.csproj", "{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TCPManager", "Project.FLY.FObjSys\TCPManager\TCPManager.csproj", "{7D455950-7D7D-4C79-8E9C-4CF53F09559A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{83968208-EA90-43E4-AA90-91E98684408C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Server_ConsoleApp", "Project.FLY.FObjSys\UnitTest\Server_ConsoleApp\Server_ConsoleApp.csproj", "{879D3D11-30A4-418C-980F-E46F8D5F4B00}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client_ConsoleApp", "Project.FLY.FObjSys\UnitTest\Client_ConsoleApp\Client_ConsoleApp.csproj", "{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FObjSysTest", "Project.FLY.FObjSys\UnitTest\FObjSysTest\FObjSysTest.csproj", "{CF136F1D-A1B3-472A-93C4-1640192A5C16}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FobjSys.UnitTest", "FobjSys.UnitTest", "{0CCF1095-E435-4EC9-9B5D-08F9B6359242}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6D4B9BDA-2A66-4583-B244-758BC4213D9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6D4B9BDA-2A66-4583-B244-758BC4213D9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D4B9BDA-2A66-4583-B244-758BC4213D9F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6D4B9BDA-2A66-4583-B244-758BC4213D9F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6D4B9BDA-2A66-4583-B244-758BC4213D9F}.Debug|x86.ActiveCfg = Debug|Any CPU
{6D4B9BDA-2A66-4583-B244-758BC4213D9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6D4B9BDA-2A66-4583-B244-758BC4213D9F}.Release|Any CPU.Build.0 = Release|Any CPU
{6D4B9BDA-2A66-4583-B244-758BC4213D9F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{6D4B9BDA-2A66-4583-B244-758BC4213D9F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{6D4B9BDA-2A66-4583-B244-758BC4213D9F}.Release|x86.ActiveCfg = Release|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Debug|Any CPU.Build.0 = Debug|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Debug|x86.ActiveCfg = Debug|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Debug|x86.Build.0 = Debug|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Release|Any CPU.ActiveCfg = Release|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Release|Any CPU.Build.0 = Release|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Release|x86.ActiveCfg = Release|Any CPU
{119C3ADC-F8E1-4F72-B89B-006236FF8586}.Release|x86.Build.0 = Release|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Debug|x86.ActiveCfg = Debug|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Debug|x86.Build.0 = Debug|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Release|Any CPU.Build.0 = Release|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Release|x86.ActiveCfg = Release|Any CPU
{A539505D-9AC0-426B-A9A0-197DF50598B0}.Release|x86.Build.0 = Release|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Debug|x86.ActiveCfg = Debug|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Debug|x86.Build.0 = Debug|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Release|Any CPU.Build.0 = Release|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Release|x86.ActiveCfg = Release|Any CPU
{5EE61AC6-5269-4F0F-B8FA-4334FE4A678F}.Release|x86.Build.0 = Release|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Debug|x86.ActiveCfg = Debug|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Debug|x86.Build.0 = Debug|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Release|Any CPU.Build.0 = Release|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Release|x86.ActiveCfg = Release|Any CPU
{ABFE87D4-B692-4AE9-A8C0-1F470B8ACBB8}.Release|x86.Build.0 = Release|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Debug|x86.ActiveCfg = Debug|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Debug|x86.Build.0 = Debug|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Release|Any CPU.Build.0 = Release|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Release|x86.ActiveCfg = Release|Any CPU
{91A1AAFE-A528-4C2E-A48A-9259E780255A}.Release|x86.Build.0 = Release|Any CPU
{EC84265E-4196-4834-8AC0-81956777C5E9}.Debug|Any CPU.ActiveCfg = Debug|x86
{EC84265E-4196-4834-8AC0-81956777C5E9}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{EC84265E-4196-4834-8AC0-81956777C5E9}.Debug|Mixed Platforms.Build.0 = Debug|x86
{EC84265E-4196-4834-8AC0-81956777C5E9}.Debug|x86.ActiveCfg = Debug|x86
{EC84265E-4196-4834-8AC0-81956777C5E9}.Debug|x86.Build.0 = Debug|x86
{EC84265E-4196-4834-8AC0-81956777C5E9}.Release|Any CPU.ActiveCfg = Release|x86
{EC84265E-4196-4834-8AC0-81956777C5E9}.Release|Mixed Platforms.ActiveCfg = Release|x86
{EC84265E-4196-4834-8AC0-81956777C5E9}.Release|Mixed Platforms.Build.0 = Release|x86
{EC84265E-4196-4834-8AC0-81956777C5E9}.Release|x86.ActiveCfg = Release|x86
{EC84265E-4196-4834-8AC0-81956777C5E9}.Release|x86.Build.0 = Release|x86
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Debug|x86.ActiveCfg = Debug|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Debug|x86.Build.0 = Debug|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Release|Any CPU.Build.0 = Release|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Release|x86.ActiveCfg = Release|Any CPU
{8E19C40F-CE7F-4982-BD90-4EB4E9E04E34}.Release|x86.Build.0 = Release|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Debug|x86.ActiveCfg = Debug|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Debug|x86.Build.0 = Debug|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Release|Any CPU.Build.0 = Release|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Release|x86.ActiveCfg = Release|Any CPU
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67}.Release|x86.Build.0 = Release|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Debug|x86.ActiveCfg = Debug|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Debug|x86.Build.0 = Debug|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Release|Any CPU.Build.0 = Release|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Release|x86.ActiveCfg = Release|Any CPU
{4DF79671-E814-49BD-864D-8257D6C6E072}.Release|x86.Build.0 = Release|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Debug|x86.ActiveCfg = Debug|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Debug|x86.Build.0 = Debug|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Release|Any CPU.Build.0 = Release|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Release|x86.ActiveCfg = Release|Any CPU
{9C46D98F-6500-490B-9E56-C89DFFFA05F8}.Release|x86.Build.0 = Release|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Debug|x86.ActiveCfg = Debug|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Debug|x86.Build.0 = Debug|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Release|Any CPU.Build.0 = Release|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Release|x86.ActiveCfg = Release|Any CPU
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34}.Release|x86.Build.0 = Release|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Debug|x86.ActiveCfg = Debug|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Debug|x86.Build.0 = Debug|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Release|Any CPU.Build.0 = Release|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Release|x86.ActiveCfg = Release|Any CPU
{7D455950-7D7D-4C79-8E9C-4CF53F09559A}.Release|x86.Build.0 = Release|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Debug|Any CPU.Build.0 = Debug|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Debug|x86.ActiveCfg = Debug|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Debug|x86.Build.0 = Debug|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Release|Any CPU.ActiveCfg = Release|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Release|Any CPU.Build.0 = Release|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Release|x86.ActiveCfg = Release|Any CPU
{879D3D11-30A4-418C-980F-E46F8D5F4B00}.Release|x86.Build.0 = Release|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Debug|x86.ActiveCfg = Debug|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Debug|x86.Build.0 = Debug|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Release|Any CPU.Build.0 = Release|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Release|x86.ActiveCfg = Release|Any CPU
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1}.Release|x86.Build.0 = Release|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Debug|x86.ActiveCfg = Debug|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Debug|x86.Build.0 = Debug|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Release|Any CPU.Build.0 = Release|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Release|x86.ActiveCfg = Release|Any CPU
{CF136F1D-A1B3-472A-93C4-1640192A5C16}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{91A1AAFE-A528-4C2E-A48A-9259E780255A} = {1262AB40-4503-469A-A00B-50C1AE6A3BA6}
{EC84265E-4196-4834-8AC0-81956777C5E9} = {1262AB40-4503-469A-A00B-50C1AE6A3BA6}
{2F88B5EC-85BC-4B5E-B254-06D2F2771F67} = {1262AB40-4503-469A-A00B-50C1AE6A3BA6}
{DD8A6858-1261-49F7-86BE-5AC5C3A0EC34} = {1262AB40-4503-469A-A00B-50C1AE6A3BA6}
{879D3D11-30A4-418C-980F-E46F8D5F4B00} = {0CCF1095-E435-4EC9-9B5D-08F9B6359242}
{EAC6FEEE-0A64-4C9A-BA59-BB9DC57C3CB1} = {0CCF1095-E435-4EC9-9B5D-08F9B6359242}
{CF136F1D-A1B3-472A-93C4-1640192A5C16} = {0CCF1095-E435-4EC9-9B5D-08F9B6359242}
{0CCF1095-E435-4EC9-9B5D-08F9B6359242} = {83968208-EA90-43E4-AA90-91E98684408C}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BD78A3E8-6F11-4F24-AB5F-A9F25461F64F}
EndGlobalSection
EndGlobal
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment