Avalonia Pro가 제공하지 않는 Avalonia 컨트롤

sgcUI는 스케줄러, 칸반 보드, 간트 차트, 피벗 그리드, 다이어그램 편집기, 대시보드, 위저드, 지도, 리포트를 Avalonia 12 애플리케이션에 추가합니다. 컨트롤은 Avalonia 앱 안에서 Avalonia 컨트롤과 FluentTheme 옆에서 실행되며, Avalonia Pro 컨트롤을 사용한다면 그 옆에서도 동작합니다. 그리드, 차트, PDF 뷰어, 리치 텍스트 편집기에 대해서는 sgcUI가 두 번째 라이선스 모델도 제공합니다. 이 키트는 컴파일되고 자체 테스트를 통과하는 샘플의 XAML로 둘 다 보여 줍니다.

Avalonia로 데스크톱 앱을 만드는 팀

Avalonia, 테마, 도구, 뷰 모델은 그대로 유지합니다. sgcUI는 추가하는 컨트롤 세트이지 옮겨 가야 하는 프레임워크가 아닙니다.

Avalonia Pro를 사용하는 경우

구독은 그대로 두고 Avalonia Pro 페이지에 나와 있지 않은 컨트롤인 스케줄러, 간트, 칸반, 피벗 그리드, 다이어그램, 대시보드, 위저드, 지도, 리포트를 추가하세요. 이 컨트롤들은 sgc XAML 접두사를 공유하고, 뷰 모델에 바인딩되며, 앱의 Fluent 테마 변형을 따릅니다.

유료 등급을 고르는 경우

Community 등급이 바뀌어 팀이 프리미엄 컨트롤을 위해 유료 Avalonia 등급이 필요해졌다면 선택지를 비교해 보세요. sgcUI에는 Avalonia용 자체 그리드, 차트, PDF 뷰어, 리치 텍스트 편집기가 있으며, 개발자 단위로 라이선스되고 전체 C# 소스 코드가 포함되고, 같은 라이선스에 같은 컨트롤의 WinForms 및 WPF 버전이 들어 있습니다.

Avalonia의 변경 사항: 2026년 4월 7일자 게시글에서 Avalonia는 "Today, alongside the release of Avalonia 12, we're retiring the Avalonia Accelerate brand entirely."라고 발표했습니다. 같은 글은 "The Community tier is moving to non-commercial use only"라고 밝히며, 신규 가입자에게는 당일, 기존 Community 구독자에게는 이후 몇 주에 걸쳐 적용된다고 합니다. Community 등급을 상업적으로 사용했고 원래 약관(연 매출 EUR 100만 미만)에 해당했던 조직에는 조직 라이선스에 대해 50% 전환 할인이 제공되며, 기존 Accelerate 구독자는 구독과 가격을 유지합니다. Avalonia 가격 페이지(2026-10-20 확인)에서 프레임워크 자체는 무료 "MIT licensed UI framework"로 유지되고, Plus는 좌석당 연 EUR 299, Pro는 좌석당 연 EUR 899, Enterprise는 3좌석 포함 연 EUR 21,000부터입니다. 가격은 부가세 별도이며, 페이지에는 "Seats are for developers doing UI work, not the whole team."이라고 적혀 있습니다.

컨트롤별 비교

Avalonia Pro 열에는 2026-10-20에 확인한 Avalonia 페이지에 나온 이름이 나열되어 있습니다. "not listed"는 해당 컨트롤이 Avalonia Pro 페이지에 나열되어 있지 않다는 뜻일 뿐입니다.

컨트롤 Avalonia Pro sgcUI Avalonia 컨트롤 sgcUI 제품, .NET 에디션
스케줄러(캘린더)Avalonia Pro 페이지에 나열되지 않음TsgcAvaloniaSchedulersgcPlanner, .NET Enterprise
간트Avalonia Pro 페이지에 나열되지 않음TsgcAvaloniaGanttsgcPlanner, .NET Enterprise
칸반Avalonia Pro 페이지에 나열되지 않음TsgcAvaloniaKanbansgcPlanner, .NET Enterprise
피벗 그리드Avalonia Pro 페이지에 나열되지 않음TsgcAvaloniaPivotGrid, TsgcAvaloniaPivotFieldListsgcPivotGrid, .NET Enterprise
다이어그램Avalonia Pro 페이지에 나열되지 않음TsgcAvaloniaDiagramViewsgcDiagram, .NET Enterprise
대시보드Avalonia Pro 페이지에 나열되지 않음TsgcAvaloniaDashboard, TsgcAvaloniaDashboardTile, TsgcAvaloniaKPICardsgcDashboard, .NET Professional
위저드Avalonia Pro 페이지에 나열되지 않음TsgcAvaloniaWizard, TsgcAvaloniaSteppersgcWizard, .NET Enterprise
지도Avalonia Pro 페이지에 나열되지 않음TsgcAvaloniaMapsgcMaps, .NET Enterprise
리포트Avalonia Pro 페이지에 나열되지 않음TsgcAvaloniaReportDesigner, TsgcAvaloniaReportPreviewsgcReports, .NET Enterprise
게이지차트 페이지의 "Gauge" 카테고리TsgcAvalonia<Kind>GaugesgcGauges, .NET Professional
데이터 그리드Tree DataGrid(Avalonia.Controls.TreeDataGrid), 플랫 및 계층 모드 제공TsgcAvaloniaGrid, TsgcAvaloniaGridColumnsgcGrid, .NET Standard
차트Charts(Avalonia.Controls.Charts), "70+ chart types"TsgcAvaloniaChart, TsgcAvaloniaChartSeries, TsgcAvaloniaChartAxissgcCharts, .NET Professional
PDF 뷰어PDF Viewer(Avalonia.Controls.PdfViewer)TsgcAvaloniaPDFViewer, TsgcAvaloniaPDFThumbnailView, TsgcAvaloniaPDFOutlineView. sgcPDF는 PDF 파일을 만들고, 편집하고, 서명하기도 합니다sgcPDF, .NET Enterprise
리치 텍스트 편집기Rich Text Editor(Avalonia.Controls.RichTextEditor)TsgcAvaloniaRichEdit. JSON, HTML, Markdown, RTF 입출력sgcRichEdit, .NET Enterprise(Registered 전용)
Markdown 뷰어예전용 뷰어 없음. TsgcAvaloniaRichEdit가 Markdown을 읽습니다 
미디어 플레이어예아니요 
화상 키보드예아니요 

위의 모든 제품은 단일 패키지로도 판매됩니다. Avalonia에서는 Charts 페이지에 Pro가 "carries all seven premium components, 70+ chart types and the advanced tooling"를 포함하고 "Nothing on this page is a separate purchase."라고 적혀 있습니다.

두 가지 라이선스 모델 비교

2026-10-20 기준. Avalonia 가격은 Avalonia 가격 페이지, sgcUI 가격은 sgcUI 가격 페이지에서 가져왔습니다.

  Avalonia Pro sgcUI for .NET
모델좌석당 구독, 연간 또는 월간 결제1년간의 업데이트가 포함된 개발자 단위 라이선스: Single, Team(개발자 2명) 또는 Site(무제한)
가격좌석당 연 EUR 899, 부가세 별도개발자당 .NET Standard €380, .NET Professional €529, .NET Enterprise €699
단일 제품별도 판매 안 함예: sgcGrid .NET €199, sgcCharts .NET €199, sgcDashboard .NET €199, sgcPlanner .NET €249, sgcPivotGrid .NET €249, sgcDiagram .NET €249, sgcPDF .NET €249, sgcRichEdit .NET €299
갱신연간 구독갱신 할인 50%(Standard), 60%(Professional), 70%(Enterprise)
소스 코드Enterprise에서 프리미엄 컨트롤의 전체 소스모든 Registered 에디션과 단일 패키지에 전체 C# 소스 코드 포함
재배포확인한 페이지에는 명시되어 있지 않음모든 에디션에서 무료 바이너리 재배포
UI 플랫폼Avalonia모든 .NET 에디션에서 WinForms, WPF, Avalonia
무료 등급Community, 2026-04-07부터 신규 가입자는 비상업적 용도로만 사용 가능Community NuGet 패키지는 연 총수익이 EUR 1,000,000 미만이고 개발자가 5명 이하인 개인 또는 조직에서 상업적 및 비상업적 프로젝트에 무료이며, 제품별 기능 제한이 있습니다. .NET용 sgcRichEdit와 sgcMaps에는 Community 패키지가 없습니다.

Avalonia Pro 페이지에 나와 있지 않은 샘플의 네 가지 컨트롤(플래너, 피벗 그리드, 다이어그램, 대시보드)은 .NET Enterprise에 함께 들어 있으며, 단일 패키지로 하나씩 구매할 수도 있습니다. Avalonia Plus와 Pro에는 Hot Reload, DevTools, Visual Studio 및 VS Code 확장 같은 벤더 도구도 포함됩니다. sgcUI는 컴포넌트만 제공하므로 도구가 필요하면 팀에 필요한 Avalonia 등급을 유지하세요.

Avalonia 12 창 안의 sgcUI

모든 발췌 코드는 컴파일된 바인딩과 FluentTheme을 사용하는 net8.0의 Avalonia 12 앱인 AvaloniaProAlternative 샘플에서 복사한 것입니다. 이 샘플은 Registered 및 Community 에디션에서 Release로 컴파일되고(데모의 경고 0개) 자체 테스트를 통과합니다. 여기에는 Avalonia Pro 코드가 없습니다. 이 페이지는 컴파일된 코드만 보여 줍니다.

모든 제품에 하나의 XAML 접두사

각 sgcUI Avalonia 어셈블리는 컨트롤을 하나의 네임스페이스 URI에 매핑하므로, Avalonia 기본 네임스페이스 옆에 sgc 접두사 하나로 모두 사용할 수 있습니다.

MainWindow.axaml
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sgc="https://www.esegece.com/sgcui"
        xmlns:vm="using:sgcUIAvaloniaPro"
        x:Class="sgcUIAvaloniaPro.MainWindow"
        x:DataType="vm:TMainViewModel"
        Title="sgcUI next to Avalonia 12: the controls Avalonia Pro does not ship" Width="1240" Height="820">

Avalonia Pro 페이지에 나열되지 않음: 하나의 작업 목록 위에 스케줄러와 칸반

두 뷰 모두 뷰 모델의 같은 Tasks 컬렉션에 바인딩됩니다. TsgcAvaloniaPlannerItemFields가 직접 만든 작업 클래스의 멤버를 매핑하며, 어느 뷰에서든 끌어서 옮기면 작업에 Begin, End 또는 Stage가 다시 기록됩니다.

MainWindow.axaml
<sgc:TsgcAvaloniaScheduler x:Name="scheduler" ItemsSource="{Binding Tasks}"
                           ResourcesSource="{Binding People}" SelectedItem="{Binding Selected}">
  <sgc:TsgcAvaloniaScheduler.ItemFields>
    <sgc:TsgcAvaloniaPlannerItemFields IdField="Key" TitleField="Name" StartField="Begin"
                                       FinishField="End" ResourcesField="Owner" StatusField="Stage"/>
  </sgc:TsgcAvaloniaScheduler.ItemFields>
  <sgc:TsgcAvaloniaScheduler.ResourceFields>
    <sgc:TsgcAvaloniaPlannerResourceFields IdField="Code" NameField="Label"/>
  </sgc:TsgcAvaloniaScheduler.ResourceFields>
</sgc:TsgcAvaloniaScheduler>
<sgc:TsgcAvaloniaKanban x:Name="kanban" Grid.Row="1" Margin="0,8,0,0" ColumnSource="pkcList"
                        ItemsSource="{Binding Tasks}" ResourcesSource="{Binding People}"
                        SelectedItem="{Binding Selected}">
  <sgc:TsgcAvaloniaKanban.ItemFields>
    <sgc:TsgcAvaloniaPlannerItemFields IdField="Key" TitleField="Name" StartField="Begin"
                                       FinishField="End" ResourcesField="Owner" StatusField="Stage"/>
  </sgc:TsgcAvaloniaKanban.ItemFields>
  <sgc:TsgcAvaloniaKanban.ResourceFields>
    <sgc:TsgcAvaloniaPlannerResourceFields IdField="Code" NameField="Label"/>
  </sgc:TsgcAvaloniaKanban.ResourceFields>
  <sgc:TsgcAvaloniaKanban.Columns>
    <sgc:TsgcAvaloniaKanbanColumn StatusId="todo" Caption="To do"/>
    <sgc:TsgcAvaloniaKanbanColumn StatusId="doing" Caption="In progress"/>
    <sgc:TsgcAvaloniaKanbanColumn StatusId="done" Caption="Done"/>
  </sgc:TsgcAvaloniaKanban.Columns>
</sgc:TsgcAvaloniaKanban>

나열되지 않음: 필드 목록이 있는 피벗 그리드

MainWindow.axaml
<sgc:TsgcAvaloniaPivotGrid x:Name="pivot" ItemsSource="{Binding Sales}">
  <sgc:TsgcAvaloniaPivotField FieldName="Region" Area="pvaRow" Caption="Region"/>
  <sgc:TsgcAvaloniaPivotField FieldName="Channel" Area="pvaRow" Caption="Channel"/>
  <sgc:TsgcAvaloniaPivotField FieldName="Product" Area="pvaColumn" Caption="Product"/>
  <sgc:TsgcAvaloniaPivotField FieldName="Amount" Area="pvaData" Aggregation="pvfSum" Caption="Sales"/>
</sgc:TsgcAvaloniaPivotGrid>
<sgc:TsgcAvaloniaPivotFieldList x:Name="fieldList" Grid.Column="1" Margin="8,0,0,0"
                                PivotGrid="{Binding #pivot}"/>

나열되지 않음: 컬렉션에서 만든 다이어그램

Employees 컬렉션과 그 부모 멤버에서 만든 조직도입니다. NodesSource와 LinksSource는 Registered 전용이므로 샘플의 Community 빌드에서는 이 탭이 숨겨집니다.

Views\DiagramTab.axaml
<sgc:TsgcAvaloniaDiagramView x:Name="diagram"
                             NodesSource="{Binding Employees}" NodeKeyMember="Id" NodeLabelMember="Name"
                             NodeParentMember="ManagerId"
                             LinksSource="{Binding Links}" LinkFromMember="From" LinkToMember="To"
                             LinkLabelMember="Label"/>

나열되지 않음: KPI 카드와 차트로 구성된 대시보드

12열 그리드의 타일로, 각 타일은 KPI 카드 또는 임의의 컨트롤을 호스팅하며 뷰 모델에 바인딩됩니다.

MainWindow.axaml
<sgc:TsgcAvaloniaDashboard x:Name="dashboard" Columns="12" RowHeight="110">
  <sgc:TsgcAvaloniaDashboardTile Title="Revenue" Col="0" Row="0" ColSpan="4" RowSpan="2">
    <sgc:TsgcAvaloniaKPICard x:Name="kpiRevenue" Title="Revenue this month" Value="{Binding Revenue}"
                             Trend="ktUp" FooterText="all channels"/>
  </sgc:TsgcAvaloniaDashboardTile>
  <sgc:TsgcAvaloniaDashboardTile Title="Orders" Col="4" Row="0" ColSpan="4" RowSpan="2">
    <sgc:TsgcAvaloniaKPICard x:Name="kpiOrders" Title="Orders" Value="{Binding Orders}"
                             Trend="ktUp" FooterText="this month"/>
  </sgc:TsgcAvaloniaDashboardTile>
  <sgc:TsgcAvaloniaDashboardTile Title="Support" Col="8" Row="0" ColSpan="4" RowSpan="2">
    <sgc:TsgcAvaloniaKPICard x:Name="kpiTickets" Title="Open tickets" Value="{Binding Tickets}"
                             Trend="ktDown" FooterText="help desk"/>
  </sgc:TsgcAvaloniaDashboardTile>
  <sgc:TsgcAvaloniaDashboardTile Title="Visits per day" Col="0" Row="2" ColSpan="12" RowSpan="3">
    <sgc:TsgcAvaloniaChart x:Name="chartVisits">
      <sgc:TsgcAvaloniaChartSeries ItemsSource="{Binding Visits}" XMember="Time" YMember="Value"
                                   Title="Visits" Color="#FF16A34A"/>
      <sgc:TsgcAvaloniaChart.Axes>
        <sgc:TsgcAvaloniaChartAxis Name="X" AxisType="catDateTime"/>
        <sgc:TsgcAvaloniaChartAxis Name="Y" Title="Visits"/>
      </sgc:TsgcAvaloniaChart.Axes>
    </sgc:TsgcAvaloniaChart>
  </sgc:TsgcAvaloniaDashboardTile>
</sgc:TsgcAvaloniaDashboard>

Avalonia Pro에도 있음: 그리드, 차트, PDF 뷰어, 리치 텍스트

겹치는 컨트롤을 교체하면 뷰는 바뀌고 뷰 모델은 그대로입니다. 선언된 열과 양방향 SelectedItem를 사용하는 그리드:

MainWindow.axaml
<sgc:TsgcAvaloniaGrid x:Name="grid" x:DataType="vm:TGridViewModel" Margin="8"
                      ItemsSource="{Binding Customers}" SelectedItem="{Binding Selected}"
                      KeyMember="Id" AutoGenerateColumns="False">
  <sgc:TsgcAvaloniaGridColumn FieldName="Id" Caption="Id" Width="60" DataType="gdtInteger"/>
  <sgc:TsgcAvaloniaGridColumn FieldName="Name" Caption="Customer" Width="220"/>
  <sgc:TsgcAvaloniaGridColumn FieldName="City" Caption="City" Width="140"/>
  <sgc:TsgcAvaloniaGridColumn FieldName="Balance" Caption="Balance" Width="130" DataType="gdtFloat"
                              DisplayFormat="#,##0.00" Alignment="gaRight"/>
</sgc:TsgcAvaloniaGrid>

날짜 시간 축 위의 꺾은선형 차트:

MainWindow.axaml
<sgc:TsgcAvaloniaChart x:Name="chartPrice" x:DataType="vm:TChartViewModel" Margin="8">
  <sgc:TsgcAvaloniaChartSeries ItemsSource="{Binding Prices}" XMember="Time" YMember="Value"
                               Title="Price" Color="#FF2563EB"/>
  <sgc:TsgcAvaloniaChart.Axes>
    <sgc:TsgcAvaloniaChartAxis Name="X" AxisType="catDateTime" Title="Time"/>
    <sgc:TsgcAvaloniaChartAxis Name="Y" Title="Price"/>
  </sgc:TsgcAvaloniaChart.Axes>
</sgc:TsgcAvaloniaChart>

뷰 모델의 TsgcPDFDocument에 바인딩된 썸네일이 있는 PDF 뷰어:

MainWindow.axaml
<sgc:TsgcAvaloniaPDFThumbnailView x:Name="pdfThumbs" Viewer="{Binding #pdfViewer}"/>
<sgc:TsgcAvaloniaPDFViewer x:Name="pdfViewer" Grid.Column="1" Margin="8,0,0,0"
                           Document="{Binding Document}" ZoomMode="zmFitWidth"/>

뷰 모델이 sgcPDF로 문서를 만들어 메모리에 저장한 다음 다시 파싱합니다. 파일에서 읽은 문서가 뷰어에 도달하는 방식과 같습니다.

ViewModels\TOverlapViewModels.cs
// a three page A4 report written with sgcPDF, saved to memory and parsed back,
// the way a document read from a file or a stream reaches the viewer
private static TsgcPDFDocument DoBuild()
{
    byte[] vBytes;
    using (TsgcPDFDocument oWriter = new TsgcPDFDocument())
    {
        for (int i = 1; i <= CS_PAGES; i++)
        {
            TsgcPDFPage oPage = oWriter.AddPage(595, 842);
            oPage.DrawRectangleFill(0, 772, 595, 70, 0.12, 0.23, 0.54);
            oPage.DrawTextColor("Quarterly report, page " + i + " of " + CS_PAGES, 50, 800,
                TsgcPDFStandardFont.sfHelveticaBold, 20, 1, 1, 1);
            oPage.DrawText("Built in code with sgcPDF (TsgcPDFDocument) and shown by TsgcAvaloniaPDFViewer.", 50,
                730, TsgcPDFStandardFont.sfHelvetica, 12);
            oPage.DrawText("Search, zoom, thumbnails and text selection work on it like on any PDF file.", 50,
                710, TsgcPDFStandardFont.sfHelvetica, 12);
            for (int k = 0; k < 6; k++)
                oPage.DrawRectangleFill(60 + k * 80, 420, 50, 40 + ((i * 3 + k * 5) % 9) * 25, 0.15, 0.39, 0.92);
            oPage.DrawRectangle(40, 40, 515, 712, 1.0);
        }
        using (MemoryStream oStream = new MemoryStream())
        {
            oWriter.SaveToStream(oStream);
            vBytes = oStream.ToArray();
        }
    }
    TsgcPDFDocument vResult = new TsgcPDFDocument();
    vResult.LoadFromBytes(vBytes);
    return vResult;
}

Markdown 텍스트로 바인딩된 리치 텍스트 편집기(sgcRichEdit는 Registered 전용):

Views\RichEditTab.axaml
<sgc:TsgcAvaloniaRichEdit x:Name="richEdit" Margin="8" DocumentFormat="refMarkdown"
                          DocumentText="{Binding Text}"/>
ViewModels\TOverlapViewModels.cs
public sealed class TRichTextViewModel : TViewModelBase
{
    private string FText =
        "# Release notes\n\nThe **sgcRichEdit** control is bound to this view model through " +
        "*DocumentText* in Markdown.\n\n- Styles, lists and tables\n- Links such as " +
        "[www.esegece.com](https://www.esegece.com)\n- HTML, RTF, Markdown and JSON in and out\n";

    /// <summary>The document as Markdown (DocumentFormat="refMarkdown"), written back on focus loss.</summary>
    public string Text
    {
        get { return FText; }
        set { DoSet(ref FText, value, "Text"); }
    }
}

테마는 그대로 둡니다

애플리케이션은 FluentTheme을 유지합니다. sgcUI 컨트롤은 라이트, 다크 또는 운영 체제 설정 같은 테마 변형을 따르며 Fluent 컨트롤과 함께 즉시 전환됩니다.

Program.cs
public override void Initialize()
{
    // the existing host theme stays: the sgcUI controls follow its theme variant
    Styles.Add(new FluentTheme());
    RequestedThemeVariant = ThemeVariant.Default;
}
ViewModels\TOverlapViewModels.cs
/// <summary>0 Follow host (RequestedThemeVariant Default), 1 Light, 2 Dark. The sgcUI controls
/// follow the Avalonia theme variant of the FluentTheme host (ThemeFollow utfHost).</summary>
public int ModeIndex
{
    get { return FModeIndex; }
    set
    {
        if (value < 0 || value > 2 || !DoSet(ref FModeIndex, value, "ModeIndex"))
            return;
        sgcUIApplication.ThemeFollow = TsgcUIThemeFollow.utfHost;
        sgcUIApplication.SetTheme(TsgcUITheme.utDefault);
        if (Application.Current != null)
            Application.Current.RequestedThemeVariant = value == 1 ? ThemeVariant.Light :
                value == 2 ? ThemeVariant.Dark : ThemeVariant.Default;
    }
}

Avalonia 앱에 sgcUI를 추가하는 여섯 단계

앱은 각 단계 후에도 계속 실행됩니다. 현재 있는 것을 제거할 필요가 없습니다.

1

앱은 그대로 유지

Avalonia.Desktop, Avalonia.Themes.Fluent, MVVM 기반 클래스, 그리고 Avalonia Pro 컨트롤은 그대로 둡니다.

2

패키지 추가

필요한 각 제품의 Avalonia 버전입니다. 예: esegece.sgcPlanner.Avalonia, esegece.sgcPivotGrid.Avalonia, esegece.sgcDiagram.Avalonia, esegece.sgcDashboard.Avalonia, esegece.sgcGrid.Avalonia, esegece.sgcCharts.Avalonia 또는 esegece.sgcPDF.Avalonia. 무료 Community 패키지에는 .Community 접미사가 붙습니다. 예: esegece.sgcPlanner.Avalonia.Community.

3

네임스페이스 하나 추가

sgcUI를 사용하는 각 뷰에 xmlns:sgc="https://www.esegece.com/sgcui"를 넣습니다. 접두사 하나로 모든 제품을 사용할 수 있습니다.

4

선언과 바인딩

XAML에서 컨트롤을 선언하고 ItemsSource, SelectedItem, 그리고 TsgcAvaloniaPlannerItemFields 같은 필드 맵으로 기존 뷰 모델에 바인딩합니다. x:DataType를 사용하는 컴파일된 바인딩도 동작합니다.

5

테마는 건드리지 않음

Styles.Add(new FluentTheme())를 유지하세요. sgcUIApplication.ThemeFollow가 기본적으로 utfHost이므로 sgcUI 컨트롤은 RequestedThemeVariant를 따릅니다.

6

원하면 겹치는 컨트롤 교체

그리드, 차트, PDF 뷰어 또는 리치 텍스트 편집기를 교체하는 경우, 뷰에서 컨트롤을 바꾸고 뷰 모델은 유지합니다. 바인딩할 멤버는 아래에 나와 있습니다.

Avalonia Pro 패키지 sgcUI 컨트롤과 바인딩할 멤버
Avalonia.Controls.TreeDataGridItemsSource, SelectedItem, KeyMember, AutoGenerateColumns="False"가 있는 TsgcAvaloniaGrid, 그리고 TsgcAvaloniaGridColumn(FieldName, Caption, DataType, DisplayFormat, Alignment)
Avalonia.Controls.ChartsTsgcAvaloniaChartSeries가 있는 TsgcAvaloniaChart(ItemsSource, XMember, YMember, SeriesKind), 그리고 TsgcAvaloniaChartAxis(Name, AxisType="catDateTime")
Avalonia.Controls.PdfViewerTsgcAvaloniaPDFViewer(Document 또는 Source, ZoomMode, PageIndex, PageCount) 및 TsgcAvaloniaPDFThumbnailView.Viewer
Avalonia.Controls.RichTextEditorTsgcAvaloniaRichEdit(DocumentText 양방향, DocumentFormat refJSON, refHTML, refMarkdown, refRTF 또는 refText, PlainText)

왼쪽 열에는 패키지 이름만 나와 있습니다. Avalonia Pro 멤버는 비교하지 않았으므로, 직접 작성한 XAML을 기준으로 뷰 변경을 계획하세요.

Avalonia Pro에는 있지만 sgcUI에는 없는 것

이 중 하나가 필요하면 그 용도로 Avalonia Pro를 유지하세요. sgcUI는 그 옆에서 실행됩니다.

계획하기 전에

Avalonia 프로젝트에서 중요한 에디션 제한과 명명 규칙입니다.

AvaloniaProAlternative

FluentTheme, 테마 선택기, 두 세트의 탭이 있는 일반 Avalonia 12 창입니다. "Avalonia Pro에 없음"(스케줄러와 칸반, 피벗 그리드, 다이어그램, 대시보드)과 "Avalonia Pro에도 있음"(그리드, 차트, PDF 뷰어, 리치 텍스트).

위치

sgcUI .NET 데모의 sgcUI_Demos.sln 솔루션 Suite\AvaloniaProAlternative 폴더에 readme.html와 함께 있습니다. 데모 다운로드에서는 프로젝트가 sgcUI NuGet 패키지를 참조합니다.

실행 방법

Registered 에디션은 dotnet build sgcUIAvaloniaProAlternative.csproj -c Release, Community 에디션은 -p:SgcCommunity=true를 추가하며, 이 경우 Diagram 및 Rich text 탭은 숨겨집니다. 그런 다음 sgcUIAvaloniaProAlternative.exe를 실행하세요.

자체 테스트

sgcUIAvaloniaProAlternative.exe /selftest [file.txt]는 모든 탭을 표시하고, 검사를 실행하며, 검사마다 PASS 또는 FAIL 줄을 하나씩 기록한 다음 실패한 검사 수를 종료 코드로 반환합니다. Registered 에디션에서는 52개 검사를 모두, Community 에디션에서는 47개 검사를 모두 통과합니다.

양쪽을 공정하게 말씀드리면, Avalonia는 sgcUI가 실행되는 프레임워크이며 이 페이지는 Avalonia를 떠나라고 요구하지 않습니다. Avalonia Pro는 하나의 구독으로 프리미엄 컴포넌트와 도구를 제공하며, 그중 일부는 sgcUI에 대응하는 컨트롤이 없습니다. sgcUI는 Avalonia Pro 페이지에 나열되지 않은 계획, 분석, 다이어그램, 대시보드, 위저드, 지도, 리포트 컨트롤과 WinForms 및 WPF용 동일한 컨트롤, 그리고 개발자 단위 라이선스의 전체 소스 코드를 제공합니다. 많은 팀이 둘 다 사용할 것입니다. 제품과 에디션은 sgcUI 제품 페이지를 참조하세요.

최고의 가성비: All-Access모든 eSeGeCe 제품과 프리미엄 지원이 포함되어 연 €1,059부터 이용할 수 있어요.
All-Access 가격 보기

오늘 첫 컨트롤을 추가해 보세요

NuGet에서 무료 Community 패키지를 추가하거나, 모든 기능과 전체 소스 코드가 포함된 Registered 패키지를 추가한 다음, 앱 옆에 AvaloniaProAlternative 샘플을 열어 보세요.