DynAreaIO2.xaml 10.4 KB
Newer Older
1 2 3 4 5
<UserControl x:Class="FLY.Thick.Base.UI.UiModule.DynAreaIO2"
             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" 
6 7
             xmlns:local="clr-namespace:FLY.Thick.Base.UI.UiModule" xmlns:conv="clr-namespace:FLY.Thick.Base.UI.Converter"
             d:DesignWidth="250"
8 9 10 11
             mc:Ignorable="d" >
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
12
                <ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Converter/Converters.xaml"/>
13
            </ResourceDictionary.MergedDictionaries>
14
            <conv:IO2BitColorConverter x:Key="io2bitcolorconv" />
15 16 17 18 19 20 21 22 23 24 25 26 27
            <Style TargetType="Rectangle" x:Key="IOStyle">
                <Setter Property="Width"  Value="9" />
                <Setter Property="Height"  Value="20" />
                <Setter Property="Margin"  Value="1" />
            </Style>
            <Style x:Key="IOTextStyle" TargetType="TextBlock">
                <Setter Property="Foreground"  Value="{StaticResource Brushes.ThemeBackground}" />
                <Setter Property="HorizontalAlignment"  Value="Center" />
                <Setter Property="VerticalAlignment"  Value="Center" />
                <Setter Property="FontSize"  Value="9"/>
            </Style>

            <local:DynAreaIOVm x:Key="ioVm" IStatus = "0xff7f" OStatus = "0x0005" Hrs = "2000" IsForever="False"/>
28
            <local:IONumberConverter x:Key="ioNumberConv"/>
29 30 31 32 33 34
        </ResourceDictionary>
    </UserControl.Resources>
    <Button Style="{StaticResource Styles.Button.Empty}" d:DataContext="{StaticResource ioVm}" Command="{Binding OpenIoTipCmd}">
        <Grid>
            <Border Style="{StaticResource Styles.Module.Border}" >
                <StackPanel Margin="2">
35 36 37 38
                    <StackPanel.Resources>
                        <Style TargetType="Rectangle" BasedOn="{StaticResource IOStyle}"/>
                        <Style TargetType="TextBlock" BasedOn="{StaticResource IOTextStyle}"/>
                    </StackPanel.Resources>
39
                    <StackPanel Orientation="Horizontal" Margin="2">
40 41 42 43 44 45 46 47 48 49 50 51
                        <TextBlock>
                            <TextBlock.Style>
                                <Style TargetType="TextBlock" BasedOn="{StaticResource Styles.Module.Text.ItemHeader}">
                                    <Setter Property="Text" Value="X"/>
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding IsIOShowNo}" Value="True">
                                            <Setter Property="Text" Value="I"/>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </TextBlock.Style>
                        </TextBlock>
52
                        <StackPanel Orientation="Horizontal" Margin="4,0">
53
                            <Grid>
54 55
                                <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=0}" />
                                <TextBlock Text="{Binding IsIOShowNo,Converter={StaticResource ioNumberConv},ConverterParameter=0}" />
56
                            </Grid>
57 58 59
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=1}" />
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=2}" />
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=3}" />
60 61 62
                        </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="4,0">
                            <Grid>
63 64
                                <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=4}" />
                                <TextBlock Text="{Binding IsIOShowNo,Converter={StaticResource ioNumberConv},ConverterParameter=4}" />
65
                            </Grid>
66 67 68
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=5}" />
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=6}" />
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=7}" />
69 70
                        </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="4,0">
71
                            <Grid>
72 73
                                <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=8}" />
                                <TextBlock Text="{Binding IsIOShowNo,Converter={StaticResource ioNumberConv},ConverterParameter=8}" />
74
                            </Grid>
75 76 77
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=9}" />
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=10}" />
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=11}" />
78 79 80
                        </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="4,0">
                            <Grid>
81 82
                                <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=12}"/>
                                <TextBlock Text="{Binding IsIOShowNo,Converter={StaticResource ioNumberConv},ConverterParameter=12}"/>
83
                            </Grid>
84 85 86
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=13}"/>
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=14}"/>
                            <Rectangle Fill="{Binding IStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=15}"/>
87 88 89 90 91 92 93 94
                        </StackPanel>
                    </StackPanel>
                    <Grid Margin="2">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition/>
                            <ColumnDefinition Width="auto"/>
                        </Grid.ColumnDefinitions>
                        <StackPanel Orientation="Horizontal" VerticalAlignment="Top">
95 96 97 98 99 100 101 102 103 104 105 106
                            <TextBlock >
                                <TextBlock.Style>
                                    <Style TargetType="TextBlock" BasedOn="{StaticResource Styles.Module.Text.ItemHeader}">
                                        <Setter Property="Text" Value="Y"/>
                                        <Style.Triggers>
                                            <DataTrigger Binding="{Binding IsIOShowNo}" Value="True">
                                                <Setter Property="Text" Value="O"/>
                                            </DataTrigger>
                                        </Style.Triggers>
                                    </Style>
                                </TextBlock.Style>
                            </TextBlock>
107
                            <StackPanel Orientation="Horizontal" Margin="4,0">
108
                                <Grid>
109 110
                                    <Rectangle Fill="{Binding OStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=0}" />
                                    <TextBlock Text="{Binding IsIOShowNo,Converter={StaticResource ioNumberConv},ConverterParameter=0}" />
111
                                </Grid>
112 113 114
                                <Rectangle Fill="{Binding OStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=1}" />
                                <Rectangle Fill="{Binding OStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=2}" />
                                <Rectangle Fill="{Binding OStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=3}" />
115 116 117
                            </StackPanel>
                            <StackPanel Orientation="Horizontal" Margin="4,0">
                                <Grid>
118 119
                                    <Rectangle Fill="{Binding OStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=4}" />
                                    <TextBlock Text="{Binding IsIOShowNo,Converter={StaticResource ioNumberConv},ConverterParameter=4}" />
120
                                </Grid>
121 122 123
                                <Rectangle Fill="{Binding OStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=5}" />
                                <Rectangle Fill="{Binding OStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=6}" />
                                <Rectangle Fill="{Binding OStatus,Converter={StaticResource io2bitcolorconv},ConverterParameter=7}" />
124 125 126
                            </StackPanel>
                        </StackPanel>
                        <Button Grid.Column="1" Style="{StaticResource Styles.Button.Empty}" Command="{Binding OpenAccessCmd}">
127
                            <StackPanel Visibility="{Binding IsForever,Converter={StaticResource visbilityconv},ConverterParameter=HiddenWhenTrue}" >
128
                                <TextBlock Style="{StaticResource Styles.Module.Text.ItemHeader}" Text="{StaticResource str.DynArea.RemainingTime}" />
129 130 131
                                <StackPanel Orientation="Horizontal" Background="{StaticResource Brushes.Text.Black}" >
                                    <TextBlock Style="{StaticResource Styles.Module.Text.ItemValue}" Text="{Binding Hrs}" Foreground="{StaticResource Brushes.Text.White}" Padding="2,0"/>
                                    <TextBlock Style="{StaticResource Styles.Module.Text.ItemValue.Unit}" Text="{StaticResource str.DynArea.H}" Foreground="{StaticResource Brushes.Text.White}"/>
132 133 134 135 136 137 138 139 140
                                </StackPanel>
                            </StackPanel>
                        </Button>
                    </Grid>
                </StackPanel>
            </Border>
        </Grid>
    </Button>
</UserControl>