Files
YKanBan/YKanBan/Views/Pages/WorkspacePage.axaml
T
yyc12345 62a3c96dc0 feat(m5): gui shell
- AppServices composition root: owns config, global workspace registry
  (app.db), platform path comparer and the LRU workspace connection pool;
  configuration persisted once at shutdown and services disposed
- AppDataPaths centralizes app.json / app.db locations; AppConfig gains
  a DefaultLanguage constant
- MVVM shell: MainWindowViewModel hosts SidebarViewModel and the current
  content page (welcome / workspace / localized failure state), mapping
  typed open failures to ResX messages
- SidebarViewModel: persistent workspace list with name-asc, name-desc
  and recently-updated sorting (selection persisted), open-project folder
  picker and initialize confirmation via Interaction<TInput,TOutput>
  handlers registered by the view; workspace entries open/remove
- Pages (welcome, workspace, message), dialogs (settings, about, confirm)
  with their view models; settings/about opened from the window
- App startup applies configured culture (RTL flow direction) and theme
  before the main window; forwarded IPC commands activate the window and
  switch workspace from the launch path
- Full UI text sourced from ResX in both en and zh-Hans; no hardcoded
  strings, theme colors via ThemeDictionaries
2026-10-02 18:02:22 +08:00

11 lines
515 B
XML

<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:YKanBan.ViewModels.Pages"
x:Class="YKanBan.Views.Pages.WorkspacePage"
x:DataType="vm:WorkspacePageViewModel">
<StackPanel Margin="24,20" Spacing="6">
<TextBlock Text="{Binding Name}" FontSize="22" FontWeight="SemiBold"/>
<TextBlock Text="{Binding FullPath}" Opacity="0.6" FontSize="12"/>
</StackPanel>
</UserControl>