feat: 初始化NewLife Studio项目,完成基础框架与数据管理模块
何炳宏 authored at 2026-05-26 12:09:09
1.87 KiB
NewLife.Studio
<UserControl xmlns="https://github.com/avaloniaui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:views="clr-namespace:NewLife.Studio.Modules.DataStudio.Views"
             x:Class="NewLife.Studio.Modules.DataStudio.Views.SqlEditorView">
    <Grid RowDefinitions="Auto,Auto,*,Auto">
        <!-- 工具栏 -->
        <StackPanel Grid.Row="0" Orientation="Horizontal" Spacing="4" Margin="0,0,0,4">
            <Button Content="+ 新建查询" Command="{Binding NewTabCommand}" Width="80" />
            <Button Content="执行 (F5)" Command="{Binding ExecuteCommand}" Width="70" />
        </StackPanel>

        <!-- Tab 头 -->
        <ListBox Grid.Row="1" ItemsSource="{Binding Tabs}"
                 SelectedItem="{Binding ActiveTab}" Height="28"
                 ScrollViewer.HorizontalScrollBarVisibility="Auto">
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal" />
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Title}" Padding="8,2" />
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

        <!-- SQL 编辑器 -->
        <Grid Grid.Row="2" RowDefinitions="Auto,*">
            <TextBox Grid.Row="0" Text="{Binding ActiveTab.Sql}"
                     AcceptsReturn="True" Height="120"
                     FontFamily="Consolas" FontSize="13"
                     PlaceholderText="输入 SQL 查询语句..." />
            <!-- 结果网格 -->
            <views:ResultGridView Grid.Row="1" x:Name="ResultGridControl"
                                   Margin="0,4,0,0" />
        </Grid>
    </Grid>
</UserControl>