160 lines · 9.1 KB · Text
RawDownload
<UserControl x:Class="GSF.PhasorProtocols.UI.UserControls.RealTimeStatisticUserControl"             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"              mc:Ignorable="d" d:DesignHeight="590" d:DesignWidth="850"             xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:uc="clr-namespace:GSF.TimeSeries.UI.UserControls;assembly=GSF.TimeSeries.UI.WPF"             xmlns:tsfBinding="clr-namespace:GSF.TimeSeries.UI.Binding;assembly=GSF.TimeSeries.UI"             xmlns:tsf="clr-namespace:GSF.TimeSeries.UI;assembly=GSF.TimeSeries.UI.WPF"             xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"             Background="Transparent">     <UserControl.Resources>        <ResourceDictionary>            <ResourceDictionary.MergedDictionaries>                <ResourceDictionary Source="/GSF.TimeSeries.UI.WPF;Component/Resources/CommonResource.xaml"/>                <ResourceDictionary Source="/GSF.TimeSeries.UI.WPF;Component/Resources/StyleResource.xaml"/>            </ResourceDictionary.MergedDictionaries>        </ResourceDictionary>    </UserControl.Resources>     <StackPanel Orientation="Vertical">         <StackPanel.Resources>             <HierarchicalDataTemplate x:Key="MeasurementTemplate">                                <Border BorderThickness="0,0,0,1" BorderBrush="#FFDDDDDD">                    <StackPanel Orientation="Horizontal" VerticalAlignment="Center">                        <StackPanel.Resources>                            <Style TargetType="{x:Type TextBlock}">                                <Setter Property="HorizontalAlignment" Value="Left"/>                                <Setter Property="TextAlignment" Value="Left"/>                                <Setter Property="VerticalAlignment" Value="Center"/>                            </Style>                        </StackPanel.Resources>                         <TextBlock Text="{tsfBinding:Column Path=ID}" Width="100"/>                        <TextBlock Text="{tsfBinding:Column Path=SignalReference}" Width="200"/>                        <TextBlock Text="{tsfBinding:Column Path=StatisticName}" ToolTip="{tsfBinding:Column Path=StatisticDescription}" Width="200" TextWrapping="Wrap"/>                        <TextBlock Text="{tsfBinding:Column Path=TimeTag}" FontWeight="Bold" Width="75" HorizontalAlignment="Center" TextAlignment="Center"/>                        <TextBlock Text="{tsfBinding:Column Path=Value}" FontWeight="Bold" Width="180"                                   Foreground="{tsfBinding:Column Path=Quality, Converter={StaticResource StringToStatusColorConverter}}" HorizontalAlignment="Center" TextAlignment="Center"/>                    </StackPanel>                </Border>                            </HierarchicalDataTemplate>             <HierarchicalDataTemplate x:Key="DeviceTemplate" ItemsSource="{tsfBinding:Column Path=StatisticMeasurementList}" ItemTemplate="{StaticResource MeasurementTemplate}">                <StackPanel Orientation="Horizontal" VerticalAlignment="Center">                     <StackPanel.Resources>                        <Style TargetType="{x:Type TextBlock}">                            <Setter Property="HorizontalAlignment" Value="Left"/>                            <Setter Property="TextAlignment" Value="Left"/>                            <Setter Property="VerticalAlignment" Value="Center"/>                        </Style>                    </StackPanel.Resources>                     <TextBlock Text="{tsfBinding:Column Path=DeviceAcronym}" Width="145" FontWeight="Bold"/>                    <TextBlock Text="{tsfBinding:Column Path=DeviceName}" Width="550" FontWeight="Bold"/>                                    </StackPanel>            </HierarchicalDataTemplate>             <HierarchicalDataTemplate x:Key="StreamTemplate" ItemsSource="{tsfBinding:Column Path=DeviceStatisticList}" ItemTemplate="{StaticResource DeviceTemplate}">                 <StackPanel Orientation="Horizontal" VerticalAlignment="Center">                                        <StackPanel.Resources>                        <Style TargetType="{x:Type TextBlock}">                            <Setter Property="HorizontalAlignment" Value="Left"/>                            <Setter Property="TextAlignment" Value="Left"/>                            <Setter Property="VerticalAlignment" Value="Center"/>                        </Style>                    </StackPanel.Resources>                     <Ellipse Width="12" Height="12" VerticalAlignment="Center" Fill="{tsfBinding:Column Path=StatusColor, Converter={StaticResource StringToStatusColorConverter}}" Margin="0,0,5,0"/>                    <TextBlock Text="{tsfBinding:Column Path=Acronym}" Width="145" FontWeight="Bold"/>                    <TextBlock Text="{tsfBinding:Column Path=Name}" Width="575" FontWeight="Bold"/>                                    </StackPanel>                            </HierarchicalDataTemplate>             <HierarchicalDataTemplate x:Key="RootNodeTemplate" ItemsSource="{tsfBinding:Column Path=StreamStatisticList}" ItemTemplate="{StaticResource StreamTemplate}">                 <StackPanel Orientation="Horizontal" VerticalAlignment="Center">                     <StackPanel.Resources>                        <Style TargetType="{x:Type TextBlock}">                            <Setter Property="HorizontalAlignment" Value="Left"/>                            <Setter Property="TextAlignment" Value="Left"/>                            <Setter Property="VerticalAlignment" Value="Center"/>                        </Style>                    </StackPanel.Resources>                     <TextBlock Text="{tsfBinding:Column Path=SourceType}" Width="755" FontWeight="Bold"/>                                    </StackPanel>             </HierarchicalDataTemplate>             <!--<Style x:Key="ExpandedItemStyle" TargetType="TreeViewItem">                <Setter Property="IsExpanded" Value="{tsfBinding:Column Path=DataContext.Expanded, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl, AncestorLevel=1}}"/>            </Style>-->            <Style x:Key="ExpandedItemStyle" TargetType="TreeViewItem">                <Setter Property="IsExpanded" Value="{tsfBinding:Column Path=Expanded}"/>            </Style>         </StackPanel.Resources>         <StackPanel Orientation="Vertical" >            <tsf:TsfPopup x:Name="PopupSettings" Topmost="False" Placement="Center">                 <Border CornerRadius="5" BorderThickness="1" Background="White" BorderBrush="Blue" >                     <Grid>                         <Grid.ColumnDefinitions>                            <ColumnDefinition Width="2*"/>                            <ColumnDefinition Width="*"/>                        </Grid.ColumnDefinitions>                         <Grid.RowDefinitions>                            <RowDefinition Height="Auto"/>                            <RowDefinition Height="Auto"/>                        </Grid.RowDefinitions>                         <TextBlock Text="Statistic Data Refresh Interval (in seconds)" Grid.Column="0" Grid.Row="0"/>                        <TextBox x:Name="TextBoxRefreshInterval" Grid.Row="0" Grid.Column="1" Width="50"/>                         <StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Right">                            <Button x:Name="ButtonRestore" Content="Restore Default" Margin="2" Width="Auto" Click="ButtonRestore_Click"/>                            <Button Content="Cancel" Margin="2" Click="ButtonCancel_Click"/>                            <Button x:Name="ButtonSave" Content="Save" Margin="2" IsDefault="True" Click="ButtonSave_Click"/>                        </StackPanel>                     </Grid>                 </Border>             </tsf:TsfPopup>             <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">            <Button x:Name="ButtonDisplaySettings" Content="Display Settings" Template="{StaticResource HyperlinkStyleButtonTemplate}"                      Width="Auto" Click="ButtonDisplaySettings_Click" Visibility="Collapsed" />            <TextBlock Text="Refresh Interval: " Width="Auto" Visibility="Collapsed" />            <TextBlock x:Name="TextBlockMeasurementRefreshInterval" Width="Auto" Visibility="Collapsed" />            <TextBlock Text="{Binding Path=DataContext.LastRefresh, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl, AncestorLevel=1}}" />        </StackPanel>             <TreeView ItemsSource="{tsfBinding:Column Path=ItemsSource}" ItemTemplate="{StaticResource RootNodeTemplate}" ItemContainerStyle="{StaticResource ExpandedItemStyle}"                      Height="610" VerticalAlignment="Top" HorizontalAlignment="Left" Width="850" ScrollViewer.HorizontalScrollBarVisibility="Disabled"/>       </StackPanel>     </StackPanel> </UserControl>

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t