<UserControl x:Class="CyberX8_Simulator.Views.SimulatorIo3View" 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:control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core" xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation" xmlns:views="clr-namespace:CyberX8_Simulator.Views" xmlns:toolkit="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="1900"> <UserControl.Resources> <views:BoolBackgroundConverter x:Key="BoolBackgroundConverter"/> <SolidColorBrush x:Key="DataGrid_Cell_BD" Color="Gray"/> <Style x:Key="Lamp-Button" TargetType="{x:Type views:IoButton}"> <Setter Property="Width" Value="16"/> <Setter Property="Height" Value="16"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type views:IoButton}"> <Grid> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" RecognizesAccessKey="True" Content=""/> <Ellipse Stroke="Gray" StrokeThickness="2" Fill="DarkGray" /> <Ellipse x:Name="Highlight" Stroke="Gray" StrokeThickness="2" Fill="Lime" /> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsChecked" Value="True"> <Setter Property="Visibility" TargetName="Highlight" Value="Visible"/> </Trigger> <Trigger Property="IsChecked" Value="False"> <Setter Property="Visibility" TargetName="Highlight" Value="Collapsed"/> </Trigger> <Trigger Property="IsMouseOver" Value="False"> <Setter Property="Opacity" TargetName="Highlight" Value="1"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </UserControl.Resources> <Grid ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Visible" > <Grid.ColumnDefinitions> <ColumnDefinition Width="480"/> <ColumnDefinition Width="480"/> <ColumnDefinition Width="500"/> <ColumnDefinition Width="480"/> </Grid.ColumnDefinitions> <TabControl Grid.Column="0" Margin="20,0,0,0" > <TabItem Header="DI"> <ListView ItemsSource="{Binding Path=DIs}" Grid.Column="2" AlternationCount="2" VerticalAlignment="Top" FontSize="12" Name="DIListView"> <ListView.View> <GridView> <GridViewColumn Width="30" Header="Index" DisplayMemberBinding="{Binding Path=Index}" /> <GridViewColumn Width="250" Header="Name" DisplayMemberBinding="{Binding Path=Name}" /> <GridViewColumn Width="70" Header="Address" DisplayMemberBinding="{Binding Path=Address}" /> <GridViewColumn Width="50" Header="Status"> <GridViewColumn.CellTemplate> <DataTemplate> <Grid Width="35"> <views:IoButton HorizontalAlignment="Center" ON="{Binding Path=BoolValue}" Style="{StaticResource Lamp-Button}" IsChecked="{Binding BoolValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" > </views:IoButton> </Grid> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Width="50" Header="Hold"> <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox x:Name="ckHold" IsChecked="{Binding Path=HoldValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="25" Height="25" ></CheckBox> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView> </TabItem> </TabControl> <TabControl Grid.Column="1" Margin="20,0,0,0"> <TabItem Header="DO"> <ListView ItemsSource="{Binding Path=DOs}" Grid.Column="3" AlternationCount="2" VerticalAlignment="Top" FontSize="12" Name="DOListView"> <ListView.View> <GridView> <GridViewColumn Width="30" Header="Index" DisplayMemberBinding="{Binding Path=Index}" /> <GridViewColumn Width="250" Header="Name" DisplayMemberBinding="{Binding Path=Name}" /> <GridViewColumn Width="70" Header="Address" DisplayMemberBinding="{Binding Path=Address}" /> <GridViewColumn Width="50" Header="Status"> <GridViewColumn.CellTemplate> <DataTemplate > <Grid Width="35"> <views:IoButton HorizontalAlignment="Center" ON="{Binding Path=BoolValue}" Style="{StaticResource Lamp-Button}" IsChecked="{Binding BoolValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" > </views:IoButton> </Grid> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Width="50" Header="Hold"> <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox x:Name="ckHold" IsChecked="{Binding Path=HoldValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="25" Height="25" ></CheckBox> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView> </TabItem> </TabControl> <TabControl Grid.Column="2" Margin="15,0,0,0"> <TabItem Header="AI"> <ListView ItemsSource="{Binding Path=AIs}" AlternationCount="2" Name="AIListView" FontSize="12" VerticalAlignment="Top" > <ListView.View> <GridView> <GridViewColumn Width="30" Header="Index" DisplayMemberBinding="{Binding Path=Index}" /> <GridViewColumn Width="250" Header="Name" DisplayMemberBinding="{Binding Path=Name}" /> <GridViewColumn Width="70" Header="Address" DisplayMemberBinding="{Binding Path=Address}" /> <GridViewColumn Width="80" Header="Value"> <GridViewColumn.CellTemplate> <DataTemplate > <toolkit:IntegerUpDown Text="{Binding Path=ShortValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="60"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Width="50" Header="Hold"> <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox x:Name="ckHold" IsChecked="{Binding Path=HoldValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="25" Height="25" ></CheckBox> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView> </TabItem> </TabControl> <TabControl Grid.Column="3" Margin="20,0,0,0"> <TabItem Header="AO"> <ListView ItemsSource="{Binding Path=AOs}" Grid.Column="1" AlternationCount="2" FontSize="12" VerticalAlignment="Top" Name="AOListView"> <ListView.View> <GridView> <GridViewColumn Width="50" Header="Index" DisplayMemberBinding="{Binding Path=Index}" /> <GridViewColumn Width="250" Header="Name" DisplayMemberBinding="{Binding Path=Name}" /> <GridViewColumn Width="70" Header="Address" DisplayMemberBinding="{Binding Path=Address}" /> <GridViewColumn Width="80" Header="Value"> <GridViewColumn.CellTemplate> <DataTemplate > <toolkit:IntegerUpDown Text="{Binding Path=ShortValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="60"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Width="50" Header="Hold"> <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox x:Name="ckHold" IsChecked="{Binding Path=HoldValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="25" Height="25" ></CheckBox> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView> </TabItem> </TabControl> </Grid> </UserControl>