WPF에 Json데이타 표시(정보분배 - No Loop,Loop Case)

case1) 정보분배 - No Loop Case.
case2) 정보분배 - Loop Case.

<Window x:Class="sampleNM.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="REDIS Real Time BLPOP" Height="800" Width="1200"
        KeyDown="Window_KeyDown"
        WindowStartupLocation="Manual"
        Left="10"
        Top="10">
    <Grid>
        <!-- Define Rows for layout -->
        <Grid.RowDefinitions>
            <RowDefinition Height="0.1*" />  <!-- 10% of available space -->
            <RowDefinition Height="0.4*" />  <!-- 50% of available space -->
            <RowDefinition Height="0.2*" />  <!-- 40% of available space -->
            <RowDefinition Height="0.3*" />  <!-- 40% of available space -->
        </Grid.RowDefinitions>

        <!-- Container for Time data -->
        <ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Margin="10">
            <Border BorderBrush="Black" BorderThickness="1" Margin="5">
                <StackPanel Orientation="Vertical">
                    <TextBlock Text="[Time Information]" FontWeight="Bold" FontSize="12" Margin="0,0,0,0"/>
                    <StackPanel x:Name="TimeStackPanel" Orientation="Vertical">
                        <!-- Time data will be loaded here -->
                    </StackPanel>
                </StackPanel>
            </Border>
        </ScrollViewer>

        <!-- Container for JSON data -->
        <ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Margin="10">
            <Border BorderBrush="Black" BorderThickness="1" Margin="5">
                <StackPanel Orientation="Vertical">
                    <TextBlock Text="[REDIS JSON Information-NOT.LOOP.DATA]" FontWeight="Bold" FontSize="12" Margin="0,0,0,0"/>
                    <StackPanel x:Name="DataStackPanel" Orientation="Vertical">
                        <!-- JSON data will be loaded here -->
                    </StackPanel>
                </StackPanel>
            </Border>
        </ScrollViewer>

        <!-- Container for complex JSON data -->
        <ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Margin="10">
            <Border BorderBrush="Black" BorderThickness="1" Margin="5">
                <StackPanel Orientation="Vertical">
                    <TextBlock Text="[REDIS COMPLEX.JSON Information-SECURITIES.TRADE]" FontWeight="Bold" FontSize="12" Margin="0,0,0,0"/>
                    <DataGrid x:Name="DataGrid" AutoGenerateColumns="False" Margin="10">
                        <DataGrid.Columns>
                            <DataGridTextColumn Header="DataClass" Binding="{Binding DataClass}" />
                            <DataGridTextColumn Header="InfoMarketClass" Binding="{Binding InfoMarketClass}" />
                            <DataGridTextColumn Header="StockCode" Binding="{Binding StockCode}" />
                            <DataGridTextColumn Header="SerialNo" Binding="{Binding SerialNo}" />
                            <DataGridTextColumn Header="AskSecuritiesTradeNumber" Binding="{Binding AskSecuritiesTradeNumber}" />
                            <DataGridTextColumn Header="AskTradeVolume" Binding="{Binding AskTradeVolume}" />
                            <DataGridTextColumn Header="AskTradeAmount" Binding="{Binding AskTradeAmount}" />
                            <DataGridTextColumn Header="BidSecuritiesTradeNumber" Binding="{Binding BidSecuritiesTradeNumber}" />
                            <DataGridTextColumn Header="BidTradeVolume" Binding="{Binding BidTradeVolume}" />
                            <DataGridTextColumn Header="BidTradeAmount" Binding="{Binding BidTradeAmount}" />
                            <DataGridTextColumn Header="EndOfText" Binding="{Binding EndOfText}" />
                        </DataGrid.Columns>
                    </DataGrid>
                </StackPanel>
            </Border>
        </ScrollViewer>

        <!-- Container for complex JSON data -->
        <ScrollViewer Grid.Row="3" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Margin="10">
            <Border BorderBrush="Black" BorderThickness="1" Margin="5">
                <StackPanel Orientation="Vertical">
                    <TextBlock Text="[REDIS COMPLEX.JSON Information-QUOTE.10]" FontWeight="Bold" FontSize="12" Margin="0,0,0,0"/>
                    <DataGrid x:Name="QuoteDataGrid" AutoGenerateColumns="False" Margin="10">
                        <DataGrid.Columns>
                            <DataGridTextColumn Header="DataClass" Binding="{Binding DataClass}" />
                            <DataGridTextColumn Header="InfoMarketClass" Binding="{Binding InfoMarketClass}" />
                            <DataGridTextColumn Header="DistributeStockIndex" Binding="{Binding DistributeStockIndex}" />
                            <DataGridTextColumn Header="BoardID" Binding="{Binding BoardID}" />
                            <DataGridTextColumn Header="SessionID" Binding="{Binding SessionID}" />
                            <DataGridTextColumn Header="StockCode" Binding="{Binding StockCode}" />
                            <DataGridTextColumn Header="StockSeq" Binding="{Binding StockSeq}" />
                            <DataGridTextColumn Header="TradingProcessingTime" Binding="{Binding TradingProcessingTime}" />
                            <DataGridTextColumn Header="AskQuote" Binding="{Binding AskQuote}" />
                            <DataGridTextColumn Header="BidQuote" Binding="{Binding BidQuote}" />
                            <DataGridTextColumn Header="AskQuoteVolume" Binding="{Binding AskQuoteVolume}" />
                            <DataGridTextColumn Header="BidQuoteVolume" Binding="{Binding BidQuoteVolume}" />
                            <DataGridTextColumn Header="TotalAskQuoteRemainder" Binding="{Binding TotalAskQuoteRemainder}" />
                            <DataGridTextColumn Header="TotalBidQuoteRemainder" Binding="{Binding TotalBidQuoteRemainder}" />
                            <DataGridTextColumn Header="EstimatedTradePrice" Binding="{Binding EstimatedTradePrice}" />
                            <DataGridTextColumn Header="EstimatedTradeVolume" Binding="{Binding EstimatedTradeVolume}" />
                            <DataGridTextColumn Header="EndText" Binding="{Binding EndText}" />
                        </DataGrid.Columns>
                    </DataGrid>
                </StackPanel>
            </Border>
        </ScrollViewer>
    </Grid>
</Window>

+ Recent posts