com um clique
card-design-system
Card design language, controls, and interaction composition
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Card design language, controls, and interaction composition
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Command binding and behavior-driven interaction patterns
Custom composite control design and reusable control packaging
Dialog structure and button layout patterns for WPF UI windows
View directory classification and architecture guidance
Global feedback, snackbar, and tray icon interaction patterns
Practical usage patterns for Lepoco WPF UI in this project
| name | card-design-system |
| description | Card design language, controls, and interaction composition |
目标:用卡片统一设置型 UI 的交互表达。
统一表达公式:
建议尺寸与间距(与当前项目风格对齐):
Margin="0,0,0,12"Grid Margin="16"0~424(常规)或 36(输入类控件)Symbol248~12文本层级建议:
FontTypography="Body" 或 BodyStrongForeground="{ui:ThemeResource TextFillColorTertiaryBrush}"SystemFillColorCautionBrush标准两行头部(推荐默认):
右侧操作区:
ui:ToggleSwitchui:ButtonComboBoxTwoStateButton 或 StackPanel 组合按钮适用:互斥状态切换(如启停、开闭、连接/断开)。
实现要点:
<ui:CardControl Margin="0,0,0,12" Icon="{ui:SymbolIcon Play24}">
<ui:CardControl.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ui:TextBlock Grid.Row="0" Grid.Column="0" FontTypography="Body" Text="任务调度" />
<ui:TextBlock Grid.Row="1" Grid.Column="0"
Foreground="{ui:ThemeResource TextFillColorTertiaryBrush}"
Text="启动后将自动执行已启用任务" />
<controls:TwoStateButton Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
Margin="0,0,24,0"
EnableContent="启动"
DisableContent="停止"
IsChecked="{Binding IsDispatcherEnabled, Mode=OneWay}"
EnableCommand="{Binding StartCommand}"
DisableCommand="{Binding StopCommand}" />
</Grid>
</ui:CardControl.Header>
</ui:CardControl>
适用:布尔配置,强调“开/关”语义。
实现要点:
<ui:CardControl Margin="0,0,0,12" Icon="{ui:SymbolIcon Flash24}">
<ui:CardControl.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ui:TextBlock Grid.Row="0" Grid.Column="0" FontTypography="Body" Text="启用快速模式" />
<ui:TextBlock Grid.Row="1" Grid.Column="0"
Foreground="{ui:ThemeResource TextFillColorTertiaryBrush}"
Text="关闭后将回退到稳定模式" />
<ui:ToggleSwitch Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
Margin="0,0,24,0"
IsChecked="{Binding IsFastModeEnabled, Mode=TwoWay}" />
</Grid>
</ui:CardControl.Header>
</ui:CardControl>
适用:高级参数默认折叠,降低主界面噪音。
实现要点:
Separator 和 Grid Margin="16"。<ui:CardExpander Margin="0,0,0,12" ContentPadding="0" Icon="{ui:SymbolIcon ChevronDown24}">
<ui:CardExpander.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ui:TextBlock Grid.Row="0" FontTypography="Body" Text="高级参数" />
<ui:TextBlock Grid.Row="1"
Foreground="{ui:ThemeResource TextFillColorTertiaryBrush}"
Text="点击展开设置重试次数、延迟与阈值" />
</Grid>
</ui:CardExpander.Header>
<StackPanel>
<Separator Margin="-18,0" BorderThickness="0,1,0,0" />
<Grid Margin="16">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ui:TextBlock Text="最大重试次数" />
<ui:TextBox Grid.Column="1" MinWidth="90" Margin="0,0,36,0" Text="{Binding RetryCount, Mode=TwoWay}" />
</Grid>
</StackPanel>
</ui:CardExpander>
适用:布尔配置需要附加动作(例如“重置位置”“查看详情”)。
<ui:CardControl Margin="0,0,0,12" Icon="{ui:SymbolIcon WindowConsole20}">
<ui:CardControl.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ui:TextBlock Grid.Row="0" Grid.Column="0" FontTypography="Body" Text="显示浮层" />
<ui:TextBlock Grid.Row="1" Grid.Column="0"
Foreground="{ui:ThemeResource TextFillColorTertiaryBrush}"
Text="开启后可在游戏界面显示状态条" />
<ui:ToggleSwitch Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" Margin="0,0,12,0"
IsChecked="{Binding ShowOverlay, Mode=TwoWay}" />
<ui:Button Grid.Row="0" Grid.RowSpan="2" Grid.Column="2" Margin="0,0,24,0"
Content="重置位置" Command="{Binding ResetOverlayLayoutCommand}" />
</Grid>
</ui:CardControl.Header>
</ui:CardControl>
适用:枚举型设置(语言、模式、设备)。
<ui:CardControl Margin="0,0,0,12" Icon="{ui:SymbolIcon Globe24}">
<ui:CardControl.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ui:TextBlock Grid.Row="0" Grid.Column="0" FontTypography="Body" Text="界面语言" />
<ui:TextBlock Grid.Row="1" Grid.Column="0"
Foreground="{ui:ThemeResource TextFillColorTertiaryBrush}"
Text="选择后点击更新按钮应用" />
<ComboBox Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
Width="200"
Margin="0,0,36,0"
ItemsSource="{Binding LanguageDict}"
SelectedItem="{Binding SelectedLanguage, Mode=TwoWay}" />
</Grid>
</ui:CardControl.Header>
</ui:CardControl>
<ui:CardExpander Margin="0,0,0,12" ContentPadding="0" Icon="{ui:SymbolIcon Settings24}">
<ui:CardExpander.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ui:TextBlock Grid.Row="0" Grid.Column="0" FontTypography="Body" Text="启用高级模式" />
<ui:TextBlock Grid.Row="1" Grid.Column="0"
Foreground="{ui:ThemeResource TextFillColorTertiaryBrush}"
Text="开启后可配置更多参数" />
<ui:ToggleSwitch Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" Margin="0,0,24,0" />
</Grid>
</ui:CardExpander.Header>
<StackPanel>
<Separator Margin="-18,0" BorderThickness="0,1,0,0" />
<Grid Margin="16">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ui:TextBlock Text="采样间隔(毫秒)" />
<ui:TextBox Grid.Column="1" MinWidth="90" Margin="0,0,36,0" Text="{Binding SampleInterval, Mode=TwoWay}" />
</Grid>
</StackPanel>
</ui:CardExpander>