XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEEDToolBox

【WinUI】XFE精英危险工具箱

公开
关注 0 Fork 0 Star 0
UTF-8
<UserControl x:Class="XFEEDToolBox.Controls.RefitShipOverview" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:controls="using:XFEEDToolBox.Controls" xmlns:rows="using:XFEEDToolBox.Core.Presentation">
    <UserControl.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionary Source="/Styles/Outfitting.xaml"/></ResourceDictionary.MergedDictionaries>
        <DataTemplate x:Key="MetricTemplate" x:DataType="rows:ShipOverviewMetric"><Grid ColumnSpacing="16" Margin="0,2"><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><TextBlock Text="{x:Bind Label}" Foreground="{StaticResource OutfittingOrange}" FontSize="14" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" ToolTipService.ToolTip="{x:Bind Label}"/><TextBlock Grid.Column="1" Text="{x:Bind Value}" Foreground="{StaticResource OutfittingOrange}" FontSize="18" VerticalAlignment="Center"/></Grid></DataTemplate>
        <Style x:Key="OverviewTabItem" TargetType="SelectorBarItem" BasedOn="{StaticResource OutfittingSelectorItem}"><Setter Property="FontSize" Value="13"/><Setter Property="MinHeight" Value="28"/><Setter Property="Padding" Value="8,3"/></Style>
    </ResourceDictionary></UserControl.Resources>
    <Border BorderBrush="{StaticResource OutfittingRule}" BorderThickness="0,2,0,0" Background="{StaticResource RefitPanelBrush}" Padding="16,10" ToolTipService.ToolTip="{x:Bind ViewModel.RefitOverview.Context,Mode=OneWay}">
      <Grid x:Name="SummaryLayout" ColumnSpacing="18"><Grid.ColumnDefinitions><ColumnDefinition x:Name="ModelColumn" Width="150"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions>
        <controls:ShipModelView x:Name="OverviewShipModel" ShipType="{x:Bind ViewModel.RefitShipType,Mode=OneWay}" ShowPedestal="False" HologramColor="#FF8000" MinHeight="126" AutomationProperties.Name="当前模拟飞船的橙黄色三维模型,无底座"/>
        <Grid Grid.Column="1" RowSpacing="8"><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/></Grid.RowDefinitions>
        <Grid ColumnSpacing="12"><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions>
        <SelectorBar x:Name="OverviewTabs" Style="{StaticResource OutfittingSelector}" BorderThickness="0,0,0,1" Padding="0,0,0,3" Loaded="OverviewTabsLoaded" SizeChanged="OverviewTabsSizeChanged" SelectionChanged="OverviewTabChanged" AutomationProperties.Name="切换飞船规格视图">
            <SelectorBarItem Text="常规" IsSelected="True" Style="{StaticResource OverviewTabItem}"/><SelectorBarItem Text="防御" Style="{StaticResource OverviewTabItem}"/><SelectorBarItem Text="武器" Style="{StaticResource OverviewTabItem}"/><SelectorBarItem Text="容量与温控" Style="{StaticResource OverviewTabItem}"/>
        </SelectorBar>
        <HyperlinkButton x:Name="ShipDetailsButton" Grid.Column="1" Content="整舰详情 →" Foreground="{StaticResource OutfittingOrange}" FontSize="13" Padding="8,3" MinHeight="28" Click="OpenShipDetails" AutomationProperties.Name="查看整舰详情"/>
        </Grid>
        <Grid x:Name="OverviewLayout" Grid.Row="1" ColumnSpacing="24" RowSpacing="12" SizeChanged="OverviewSizeChanged" AutomationProperties.Name="当前模拟飞船的整体属性预览">
            <Grid.ColumnDefinitions><ColumnDefinition x:Name="IdentityColumn" Width="140"/><ColumnDefinition Width="1.1*"/><ColumnDefinition x:Name="PowerColumn" Width="*"/></Grid.ColumnDefinitions>
            <Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/></Grid.RowDefinitions>
            <StackPanel x:Name="IdentityPanel" VerticalAlignment="Center" Spacing="4"><TextBlock Text="飞船规格" Foreground="{StaticResource OutfittingWhite}" FontSize="18"/><TextBlock x:Name="SummaryViewName" Text="常规" Foreground="{StaticResource OutfittingOrange}" FontSize="14"/><TextBlock Text="{x:Bind ShipName(ViewModel.RefitShipType),Mode=OneWay}" Foreground="{StaticResource OutfittingLabel}" FontSize="11" TextTrimming="CharacterEllipsis"/></StackPanel>
            <Grid x:Name="SpecificationsPanel" Grid.Column="1" RowSpacing="5" ColumnSpacing="16" VerticalAlignment="Center">
                <Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/></Grid.RowDefinitions>
                <TextBlock Text="速度(极速 | 加力)" Foreground="{StaticResource OutfittingOrange}" FontSize="14" VerticalAlignment="Center"/><TextBlock x:Name="SpeedValue" Grid.Column="1" Text="{x:Bind ViewModel.RefitOverview.SpeedText,Mode=OneWay}" Foreground="{StaticResource OutfittingOrange}" FontSize="18" HorizontalAlignment="Right"/>
                <TextBlock Grid.Row="1" Text="俯仰 / 滚转 / 偏航" Foreground="{StaticResource OutfittingOrange}" FontSize="14" VerticalAlignment="Center"/><TextBlock x:Name="RotationValue" Grid.Row="1" Grid.Column="1" Text="{x:Bind ViewModel.RefitOverview.RotationText,Mode=OneWay}" Foreground="{StaticResource OutfittingOrange}" FontSize="18" HorizontalAlignment="Right"/>
                <TextBlock Grid.Row="2" Text="跃迁距离 最小 / 当前 / 最大" Foreground="{StaticResource OutfittingOrange}" FontSize="14" VerticalAlignment="Center"/><TextBlock x:Name="JumpValue" Grid.Row="2" Grid.Column="1" Text="{x:Bind ViewModel.RefitOverview.JumpText,Mode=OneWay}" Foreground="{StaticResource OutfittingOrange}" FontSize="18" HorizontalAlignment="Right"/>
            </Grid>
            <Border x:Name="PowerPanel" Grid.Column="2" BorderBrush="{StaticResource OutfittingRule}" BorderThickness="1" Padding="10,6">
                <Grid ColumnSpacing="18" RowSpacing="4"><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/></Grid.RowDefinitions>
                    <Grid><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><TextBlock Text="收起时" Foreground="{x:Bind PowerBrush(ViewModel.RefitOverview.RetractedOverloaded),Mode=OneWay}" FontSize="14" VerticalAlignment="Center"/><TextBlock Grid.Column="1" Text="{x:Bind ViewModel.RefitOverview.RetractedText,Mode=OneWay}" Foreground="{x:Bind PowerBrush(ViewModel.RefitOverview.RetractedOverloaded),Mode=OneWay}" FontSize="18"/></Grid>
                    <Grid Grid.Row="1" RowSpacing="3" IsHitTestVisible="False" AutomationProperties.Name="收起与部署时的功耗条,超出总功率的部分标红">
                        <Grid.ColumnDefinitions><ColumnDefinition Width="{x:Bind Portion(ViewModel.RefitOverview.CapacityFraction),Mode=OneWay}"/><ColumnDefinition Width="{x:Bind Remaining(ViewModel.RefitOverview.CapacityFraction),Mode=OneWay}"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="5"/><RowDefinition Height="5"/></Grid.RowDefinitions>
                        <Grid Grid.ColumnSpan="2"><Grid.ColumnDefinitions><ColumnDefinition Width="{x:Bind Portion(ViewModel.RefitOverview.RetractedNormalFraction),Mode=OneWay}"/><ColumnDefinition Width="{x:Bind Portion(ViewModel.RefitOverview.RetractedExcessFraction),Mode=OneWay}"/><ColumnDefinition Width="{x:Bind Portion(ViewModel.RefitOverview.RetractedEmptyFraction),Mode=OneWay}"/></Grid.ColumnDefinitions><Rectangle Fill="{StaticResource OutfittingOrange}"/><Rectangle Grid.Column="1" Fill="{StaticResource OutfittingOverload}"/><Rectangle Grid.Column="2" Fill="{StaticResource OutfittingRule}"/></Grid>
                        <Grid Grid.Row="1" Grid.ColumnSpan="2"><Grid.ColumnDefinitions><ColumnDefinition Width="{x:Bind Portion(ViewModel.RefitOverview.DeployedNormalFraction),Mode=OneWay}"/><ColumnDefinition Width="{x:Bind Portion(ViewModel.RefitOverview.DeployedExcessFraction),Mode=OneWay}"/><ColumnDefinition Width="{x:Bind Portion(ViewModel.RefitOverview.DeployedEmptyFraction),Mode=OneWay}"/></Grid.ColumnDefinitions><Rectangle Fill="{StaticResource OutfittingOrange}"/><Rectangle Grid.Column="1" Fill="{StaticResource OutfittingOverload}"/><Rectangle Grid.Column="2" Fill="{StaticResource OutfittingRule}"/></Grid>
                        <Rectangle Grid.RowSpan="2" Width="1" HorizontalAlignment="Right" Fill="{StaticResource OutfittingOrange}"/>
                    </Grid>
                    <Grid Grid.Row="2" ColumnSpacing="12"><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="Auto"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><TextBlock Text="已部署" Foreground="{x:Bind PowerBrush(ViewModel.RefitOverview.DeployedOverloaded),Mode=OneWay}" FontSize="14" VerticalAlignment="Center"/><TextBlock Grid.Column="1" Text="{x:Bind ViewModel.RefitOverview.DeployedText,Mode=OneWay}" Foreground="{x:Bind PowerBrush(ViewModel.RefitOverview.DeployedOverloaded),Mode=OneWay}" FontSize="18"/><TextBlock Grid.Column="2" Text="{x:Bind ViewModel.RefitOverview.MarginText,Mode=OneWay}" Foreground="{x:Bind PowerBrush(ViewModel.RefitOverview.DeployedOverloaded),Mode=OneWay}" FontSize="18"/></Grid>
                    <StackPanel Grid.Column="1" Grid.RowSpan="3" Spacing="2" VerticalAlignment="Center"><TextBlock Text="总功率" Foreground="{StaticResource OutfittingOrange}" FontSize="14" HorizontalAlignment="Center"/><TextBlock Text="{x:Bind ViewModel.RefitOverview.CapacityText,Mode=OneWay}" Foreground="{StaticResource OutfittingOrange}" FontSize="20" HorizontalAlignment="Center"/></StackPanel>
                </Grid>
            </Border>
            <Grid x:Name="DefencePanel" Grid.Column="1" Grid.ColumnSpan="2" ColumnSpacing="28" RowSpacing="8" Visibility="Collapsed"><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/></Grid.RowDefinitions>
                <ItemsControl ItemsSource="{x:Bind ViewModel.RefitOverview.DefenceHull,Mode=OneWay}" ItemTemplate="{StaticResource MetricTemplate}"/>
                <ItemsControl x:Name="ShieldMetrics" Grid.Column="1" ItemsSource="{x:Bind ViewModel.RefitOverview.DefenceShield,Mode=OneWay}" ItemTemplate="{StaticResource MetricTemplate}"/>
            </Grid>
            <Grid x:Name="WeaponPanel" Grid.Column="1" Grid.ColumnSpan="2" ColumnSpacing="28" RowSpacing="8" Visibility="Collapsed" ToolTipService.ToolTip="{x:Bind ViewModel.RefitOverview.WeaponPipsText,Mode=OneWay}"><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/></Grid.RowDefinitions>
                <ItemsControl ItemsSource="{x:Bind ViewModel.RefitOverview.WeaponOutput,Mode=OneWay}" ItemTemplate="{StaticResource MetricTemplate}"/>
                <ItemsControl x:Name="DamageMetrics" Grid.Column="1" ItemsSource="{x:Bind ViewModel.RefitOverview.WeaponDamage,Mode=OneWay}" ItemTemplate="{StaticResource MetricTemplate}"/>
            </Grid>
            <Grid x:Name="CapacityPanel" Grid.Column="1" Grid.ColumnSpan="2" ColumnSpacing="28" RowSpacing="8" Visibility="Collapsed"><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/></Grid.RowDefinitions>
                <ItemsControl ItemsSource="{x:Bind ViewModel.RefitOverview.Capacities,Mode=OneWay}" ItemTemplate="{StaticResource MetricTemplate}"/>
                <ItemsControl x:Name="ThermalMetrics" Grid.Column="1" ItemsSource="{x:Bind ViewModel.RefitOverview.ThermalAndCost,Mode=OneWay}" ItemTemplate="{StaticResource MetricTemplate}"/>
            </Grid>
        </Grid>
        </Grid>
      </Grid>
    </Border>
</UserControl>