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

修改 模拟器IO样式

parent 85ccddf5
......@@ -65,6 +65,7 @@
</ApplicationDefinition>
<Compile Include="Converters\ConnectionValueConverter.cs" />
<Compile Include="Converters\IO2BinConverter.cs" />
<Compile Include="Converters\IO2BitBoolConverter.cs" />
<Compile Include="Converters\VisibilityConverter.cs" />
<Compile Include="WdBlowingVm.cs">
<DependentUpon>WindowBlowing.xaml</DependentUpon>
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
namespace BlowingSimulator.Converters
{
public class IO2BitBoolConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
try
{
UInt16 io = (UInt16)value;
string str = (string)parameter;
int bitno = int.Parse(str);
if (Misc.MyBase.CHECKBIT(io, bitno))
return false;
else
return true;
}
catch
{
return false;
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
......@@ -4,8 +4,29 @@
xmlns:local="clr-namespace:BlowingSimulator"
xmlns:blowing="clr-namespace:FLY.Simulation.Blowing;assembly=FLY.Simulation.Blowing"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:converters="clr-namespace:BlowingSimulator.Converters"
mc:Ignorable="d"
Title="吹膜测厚仪模拟器" Width="700" Height="500">
<Window.Resources>
<ResourceDictionary>
<Style TargetType="Border" x:Key="IOStyle">
<Setter Property="Background" Value="Gray"/>
<Setter Property="Height" Value="12"/>
<Setter Property="Width" Value="10"/>
<Setter Property="Margin" Value="3,1"/>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Tag}" Value="True">
<Setter Property="Background" Value="Yellow"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="TextBlock" x:Key="IOTextStyle">
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
<converters:IO2BitBoolConverter x:Key="io2bconv"/>
<local:MainVm x:Key="viewModel"/>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
......@@ -38,14 +59,44 @@
<TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="脉冲:"/>
<TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding Position}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}">
<TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="输入口:"/>
<TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding IStatus,Converter={StaticResource io2bconv}}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}">
<TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="输出口:"/>
<TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding OStatus,Converter={StaticResource io2bconv}}"/>
</StackPanel>
<UniformGrid Columns="13" Margin="2,0" VerticalAlignment="Top" HorizontalAlignment="Left">
<UniformGrid.Resources>
<Style TargetType="TextBlock" BasedOn="{StaticResource IOTextStyle}"/>
</UniformGrid.Resources>
<TextBlock />
<TextBlock Text="0" />
<TextBlock Text="1" />
<TextBlock Text="2" />
<TextBlock Text="3" />
<TextBlock Text="4" />
<TextBlock Text="5" />
<TextBlock Text="6" />
<TextBlock Text="7" />
<TextBlock Text="8" />
<TextBlock Text="9" />
<TextBlock VerticalAlignment="Center" FontSize="10" Text="10" />
<TextBlock VerticalAlignment="Center" FontSize="10" Text="11" />
<TextBlock FontWeight="Bold" Text="X" />
<Border Tag="{Binding IStatus, ConverterParameter=0, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=1, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=2, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=3, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=4, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=5, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=6, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=7, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=8, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=9, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=10, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding IStatus, ConverterParameter=11, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<TextBlock FontWeight="Bold" Text="Y" />
<Border Tag="{Binding OStatus, ConverterParameter=0, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding OStatus, ConverterParameter=1, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding OStatus, ConverterParameter=2, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
<Border Tag="{Binding OStatus, ConverterParameter=3, Converter={StaticResource io2bconv}}" Style="{StaticResource IOStyle}" />
</UniformGrid>
<StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}">
<TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="旋转架脉冲:"/>
<TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding Position2}"/>
......
......@@ -98,10 +98,10 @@ namespace FLY.Simulation.Blowing
if (mBlowing.IsRollSign)
Misc.MyBase.CLEARBIT(ref istatus, IODefinition.IN_RSENSOR);
if (mBlowing.IsForwSign)
if (mBlowing.IsTurnSign0)
Misc.MyBase.CLEARBIT(ref istatus, IODefinition.IN_RENZIJIA_0);
if (mBlowing.IsBackwSign)
if (mBlowing.IsTurnSign1)
Misc.MyBase.CLEARBIT(ref istatus, IODefinition.IN_RENZIJIA_1);
return istatus;
......
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