.NET Verfügbare Stilbibliothek für Anwendungen Calcite .NET Toolkit als Vorschau veröffentlicht. In diesem Artikel übersetzen und stellen wir das Calcite .NET Toolkit vor, basierend auf dem Beitrag imEsri Community Blog mit dem Titel „Announcing Calcite .NET Toolkit“.
Das ArcGIS Maps SDK for .NET Team hat nicht nur die Funktionen der API vorgestellt, sondern auch oft Bedarf an ansprechenden Beispielen und Demos gehabt, weshalb eine einfache Styling-Bibliothek mit Standardstilen und Symbolen benötigt wurde. Außerdem haben viele Nutzer gefragt: „Wie kann ich Calcite im ArcGIS Maps SDKs for Native Apps verwenden?“
Calcite Design System bietet der JavaScript-Entwicklergemeinschaft viele Komponenten, Stile und Symbole, und wir haben daran gearbeitet, Ähnliches für das ArcGIS Maps SDKs for Native Apps zu entwickeln. Mit den leistungsstarken WPF, WinUI, und .NET MAUI XAML-Styling-Funktionen und Markup-Erweiterungen haben wir eine Bibliothek erstellt, die dies ermöglicht. Wir planen, diese Bibliothek umfangreich in Demos und Beispielen zu verwenden und hoffen, dass sie auch für Sie nützlich ist. Inhalt des SDKs:Stile, die mit dem Calcite Design System übereinstimmen (implizit oder explizit)
Zugriff auf über 2.500 Calcite UI-Symbole über Markup-Erweiterungen
Nicht im aktuellen SDK enthalten::
- Komponentensatz von Calcite (auf Wunsch werden einige davon zukünftig hinzugefügt)
- Diese Bibliothek wurde vollständig vom ArcGIS Maps SDK for .NET Team entwickelt und vom Calcite Team genehmigt, wird aber nicht vom Calcite Team gewartet. Fehlerberichte und Diskussionen erfolgen daher im GitHub Repository: (https://github.com/Esri/calcite-dotnet-toolkit)
WPF
WPF では、App.xaml のリソース ディクショナリに CalciteResources を追加する必要があります。
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<CalciteResources xmlns="http://schemas.esri.com/calcite/2024" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
WPF の追加プロパティを使用すると、ダーク モードを設定したり、暗黙的なスタイル設定をオフにしたりできます。
WinUI
WinUI の場合、CalciteResources を XamlControlsResources エントリに追加する必要があります。暗黙的なスタイリングが不要な場合は、代わりに XamlControlsResources の前にエントリを挿入することもできます。
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" >
<XamlControlsResources.MergedDictionaries>
<CalciteResources xmlns="using:Esri.Calcite.WinUI" />
</XamlControlsResources.MergedDictionaries>
</XamlControlsResources>
.NET MAUI
.NET MAUI では、リソースをデフォルトのスタイル エントリの後に挿入して暗黙的なものにするか、その前に挿入してスタイルだけを明示的に利用できるようにします。
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Styles/Colors.xaml" />
<ResourceDictionary Source="Resources/Styles/Styles.xaml" />
<CalciteResources xmlns="http://schemas.esri.com/calcite/2024"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
.NET MAUI では、MauiProgram.cs の AppBuilder に Calcite ツールキットを登録する必要があります。
using Esri.Calcite.Maui; // 以降で使用される UseCalcite 拡張メソッドにアクセスします
namespace MauiTests
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
}).UseCalcite(); // Calcite を登録する
return builder.Build();
}
}
}
使用方法
リソースを含めると、さまざまなカラー、ブラシ、スタイル、およびアイコンにアクセスできるようになり、Calcite Design System ガイドラインに従ってアプリケーションをスタイル設定できます。Calcite デザイン トークンに精通している場合、XAML で使用される命名パターンにわずかに適応するだけで、多くの同等性と命名の類似性を見つけることができます。たとえば、プライマリとセカンダリの Calcite ボタンを作成する場合は、次のようにスタイルを適用します。
<Button Content="OK" Style="{StaticResource CalcitePrimaryButtonStyle}" />
<Button Content="Cancel" Style="{StaticResource CalciteSecondaryButtonStyle}" />
スタイルの命名は一般的に、プラットフォームが提供する他の XAML スタイルの命名パターンに一致する Calcite[Kind][ControlType]Style のパターンに従います。最後の単語は常にリソースのタイプで、この場合は Style です。同様に、CalciteBrandBrush や CalciteBrandColor のような場合は、それぞれ Brush と Color タイプです。MAUI では、カラーはテーマ設定をサポートしないため、カラーにはさらに 'Light' または 'Dark' が追加されます(例: CalciteBrandLightColor)。これらの詳細については、下記を参照してください。
アイコン
2,500 以上の Calcite UI アイコン全てに 3 つの詳細レベルを用意し、どのサイズでも鮮明なアイコンを表示することができます。これらは、汎用的なアイコンから GIS に関連したアイコンまで多岐にわたります。
これらには、フォントと文字コードを介して、またはライブラリによって提供されるマークアップ拡張機能を使用してアクセスできます。XAML でどのように表示されるかの例を示します。
WPF:
<TextBlock Text="{StaticResource CalciteUIIcons_Glyph_Map}"
FontFamily="{StaticResource CalciteUIIconsMediumFontFamily}" />
<Path Data="{calcite:CalciteIconGeometry Icon=ChevronLeft, Scale=Small}" Fill="Green" Width="32" Height="32" Stretch="Uniform" />
<Image Source="{calcite:CalciteIconImage Icon=AddLayer, Scale=Large, SymbolSize=32, Brush=Blue}" Width="32" Height="32" />
WinUI:
<TextBlock Text="{StaticResource CalciteUIIcons_Glyph_Map}"
FontFamily="{StaticResource CalciteUIIconsMediumFontFamily}" />
<IconSourceElement Width="32" Height="32" >
<IconSourceElement.IconSource>
<calcite:CalciteFontIconSource Icon="Map" FontSize="32" Scale="Large" />
</IconSourceElement.IconSource>
</IconSourceElement>
<AppBarButton Label="Zoom Out">
<AppBarButton.Icon>
<IconSourceElement IconSource="{calcite:CalciteIconSource Icon=ZoomOutFixed, Scale=Small}" />
</AppBarButton.Icon>
</AppBarButton>
.NET MAUI:
<Label Text="{StaticResource CalciteUIIcons_Glyph_Map}"
FontFamily="CalciteUIIconsMediumFontFamily" />
<Image>
<Image.Source>
<calcite:CalciteIconImageSource Color="Blue" Icon="MagnifyingGlass" Size="40" Scale="Large" />
</Image.Source>
</Image>
<Image Source="{calcite:CalciteIconImage Color=Blue, Icon=MagnifyingGlass,Size=40, Scale=Large}" />
Dark Mode
WinUI と .NET MAUI は、ダーク モードとライト モードを完全にサポートしています。ただし、この機能は WPF 自体には完全に実装されていないため、Calcite Toolkit for .NET では独自の方法でこれを処理しています。CalciteResources で DarkMode と LightMode Sie können es explizit festlegen oder den Standard beibehalten, sodass der Modus den Systemeinstellungen folgt. Wenn Sie jedoch einen fest codierten Pinsel verwenden, der sich beim Wechsel in den Dunkelmodus nicht aktualisiert, wird er beim Moduswechsel automatisch aktualisiert.Calcitemuss auf den Pinsel umgestellt werden.
Beispiel
Demo-Beispieldie meisten wurden aktualisiert, um die Bibliothek zu verwenden,SDKviele Funktionen undCalciteStile kombiniert, um eine vollwertige Anwendung zu erstellen.Ein neues Map Viewer-Beispielwurde ebenfalls hinzugefügt. Bitte sehen Sie sich dieses Beispiel an.https://github.com/Esri/arcgis-runtime-demos-dotnet/
Zukünftige Pläne
Das in diesem Artikel vorgestellte Calcite .NET Toolkitist die erste Vorschau einer spannenden neuen Produktreihe. Wir freuen uns auf Ihr Feedback darüber, was fehlt, was verbessert werden sollte und wie Sie es verwenden.XAMLWir werden diese Funktion weiterhin ausbauen, um die Entwickler-Community bei der Erstellung ansprechender Anwendungen zu unterstützen.