Blazor ٹیوٹوریل
پیرامیٹر والے Razor کلاس لائبریری اجزاء، ChildContent
رینڈر ٹکڑے، خصوصیات کا پھیلاؤ اور ہر جزو کے لیے ایک bUnit ٹیسٹ۔
آپ کیا بنائیں گے
ایک چھوٹا رابطہ فارم — لیبل والا خانہ، جمع کرانے کا بٹن،
@bind-Value بائنڈنگ، حقیقی کی بورڈ اور اسکرین ریڈر رویہ — پہلے سادہ، پھر اسلوب کے ساتھ، تقریباً 10 منٹ میں۔
شروع کرنے سے پہلے
آپ کو git اور .NET SDK 8 یا نیا چاہیے۔ کوئی بھی Blazor منصوبہ چلے گا — Blazor Web App، Server یا WebAssembly۔
مرحلہ 1 — کوڈ حاصل کریں
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-blazor-headless
dotnet build
dotnet test # bUnit — 1,400+ cases across the catalog
اجزاء یہاں رہتے ہیں: src/LilyBlazorHeadless/Components/ —
Button.razor, TextInput.razor — ہر ایک کے لیے ایک Razor فائل۔ اپنی Blazor ایپ سے منصوبے کا حوالہ دیں (یا فائلیں کاپی کریں) اور شامل کریں @using LilyBlazorHeadless.Components میں
_Imports.razor.
مرحلہ 2 — آپ کا پہلا جزو
<Button OnClick="Save">Save</Button>
یہ دکھاتا ہے <button class="button">۔ مشترکہ پیرامیٹر روایات: Label (ایک aria-label زیرِ اثر لانے کے لیے)،
CssClass (بنیادی ہُک میں جوڑا جاتا ہے)،
ChildContentاور
[Parameter(CaptureUnmatchedValues = true)] خصوصیات کا پھیلاؤ تاکہ کوئی بھی اضافی HTML خصوصیت گزر جائے۔
مرحلہ 3 — ایک چھوٹا فارم بنائیں
<Form OnSubmit="HandleSubmit">
<Field Label="Full name" Required="true">
<TextInput Id="name" Label="Full name" @bind-Value="name" Required="true" />
</Field>
<Button Type="submit">Save</Button>
</Form>
@code {
private string name = "";
}
Field نظر آنے والے Label کو اپنے پیرامیٹر کے طور پر لیتا ہے، اندر رکھے لیبل جزو کے طور پر نہیں — اسے ایک بار دیں، پر
Fieldاور TextInputکا
Label قابلِ رسائی نام فراہم کرتا ہے۔
2026-08-29 کو تصدیق شدہ: پچھلے مسودے نے الگ Label جزو کو Fieldکے اندر رکھا تھا، جس سے دو لیبل (ایک خالی) ظاہر ہوئے کیونکہ Field
پہلے ہی اپنا لیبل Label پیرامیٹر — جزو کا ماخذ کوڈ دیکھ کر پتا چلا؛ Form کا اپنا کوئی Label پیرامیٹر نہیں، اس لیے پچھلے مسودے کے
<Form> استعمال کو اسے چھوڑ کر درست کیا گیا، ایسی خصوصیت گھڑنے کے بجائے جو موجود نہیں۔
مرکب رابطہ-فارم راستہ
وہی نمونہ ہے، حقیقی e2e اور axe ٹیسٹوں سے پرکھا ہوا۔
اپنا کام جانچیں: ایپ چلائیں اور فارم سادہ نظر آتا ہے — بالکل جیسا ارادہ تھا: اسلوب ابھی آگے ہے۔ دبائیں Tab: فوکس ہر کنٹرول سے گزرتا ہے، لیبل کا اعلان ہوتا ہے اور جمع کرانا کام کرتا ہے۔ رویہ مکمل ہے؛ ظاہری شکل آپ کی ہے اور اگلا قدم ہے۔
مرحلہ 4 — اسے اسلوب دیں
کلاس ہُکس کو اسلوب دیں — .button, .text-input,
.label, .field — اس میں app.css، یا کوئی تیار تھیم یہاں لنک کریں App.razor /
index.html:
<link rel="stylesheet" href="themes/wireframe.css" />
مرحلہ 5 — سب کچھ چلتا دیکھیں
Blazor Web مثالی ایپ مکمل کیٹلاگ اسلوب اور نمائش کے ساتھ دکھاتی ہے، Playwright e2e ٹیسٹوں کے ساتھ:
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-blazor-web-examples
dotnet run --project src/LilyBlazorWebExamples
اگلے مراحل
- تھیمز — Blazor theme-picker معاون کے ساتھ چلتے وقت تبدیلی (NuGet پر Razor کلاس لائبریری)۔
- ترجیحی معاونین — زبان اور متن کا سائز۔
- جزو کیٹلاگ — ہر جزو کے لیے خصوصیات، ARIA اور کی بورڈ۔
راستے میں سوالات ہیں؟ مدد کا صفحہ جوابات سے بھرا ہے — اور اگر کوئی مرحلہ مزید واضح ہو سکتا ہے، ہمیں بتائیں اور ہم خوشی سے ٹیوٹوریل بہتر بنائیں گے۔