Blazor টিউটোরিয়াল
প্যারামিটারসহ Razor ক্লাস লাইব্রেরি কম্পোনেন্ট, ChildContent
রেন্ডার খণ্ড, অ্যাট্রিবিউট ছড়িয়ে দেওয়া এবং প্রতিটি কম্পোনেন্টের জন্য একটি bUnit পরীক্ষা।
আপনি কী তৈরি করবেন
একটি ছোট যোগাযোগ ফর্ম — লেবেলসহ ক্ষেত্র, জমা দেওয়ার বোতাম,
@bind-Value বাইন্ডিং, প্রকৃত কিবোর্ড ও স্ক্রিন-রিডার আচরণ — প্রথমে সাদামাটা, তারপর স্টাইলসহ, প্রায় ১০ মিনিটে।
শুরু করার আগে
আপনার git এবং .NET SDK 8 বা নতুন লাগবে। যেকোনো Blazor প্রকল্প চলবে — Blazor Web App, Server বা WebAssembly।
ধাপ ১ — কোড নিন
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.
ধাপ ২ — আপনার প্রথম কম্পোনেন্ট
<Button OnClick="Save">Save</Button>
দেখায় <button class="button">। ভাগ করা প্যারামিটার রীতি: Label (একটি aria-label ওভাররাইড করতে),
CssClass (মূল হুকে যুক্ত হয়),
ChildContentএবং
[Parameter(CaptureUnmatchedValues = true)] অ্যাট্রিবিউট ছড়িয়ে দেওয়া, যাতে যেকোনো বাড়তি HTML অ্যাট্রিবিউট পার হয়ে যায়।
ধাপ ৩ — একটি ছোট ফর্ম তৈরি করুন
<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 -এ সহজে ব্যবহারযোগ্য নাম জোগায়।
২০২৬-০৮-২৯ তারিখে যাচাইকৃত: আগের একটি খসড়া আলাদা Label কম্পোনেন্টকে Field-এর ভেতরে রেখেছিল, ফলে দুটি লেবেল (একটি খালি) দেখাত, কারণ Field
ইতিমধ্যেই নিজের লেবেল Label প্যারামিটার — কম্পোনেন্টের সোর্স কোড দেখে ধরা পড়েছে; Form -এর নিজের কোনো Label প্যারামিটার নেই, তাই আগের খসড়ার
<Form> ব্যবহার বাদ দিয়ে ঠিক করা হয়েছে, যে অ্যাট্রিবিউট নেই তা উদ্ভাবন না করে।
সংযুক্ত যোগাযোগ-ফর্ম রুট
একই প্যাটার্ন, প্রকৃত e2e ও axe পরীক্ষায় যাচাই করা।
আপনার কাজ পরীক্ষা করুন: অ্যাপ চালান, আর ফর্মটি সাদামাটা দেখায় — ঠিক যেমন উদ্দেশ্য ছিল: স্টাইলিং এখনো সামনে। চাপুন Tab: ফোকাস প্রতিটি নিয়ন্ত্রণের মধ্য দিয়ে যায়, লেবেল ঘোষিত হয় এবং জমা দেওয়া কাজ করে। আচরণ সম্পূর্ণ; চেহারা আপনার, আর সেটাই পরবর্তী ধাপ।
ধাপ ৪ — স্টাইল দিন
ক্লাস হুকগুলোতে স্টাইল দিন — .button, .text-input,
.label, .field — এতে app.css, অথবা একটি তৈরি থিম এখানে লিংক করুন App.razor /
index.html:
<link rel="stylesheet" href="themes/wireframe.css" />
ধাপ ৫ — সবকিছু কাজ করতে দেখুন
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 ও কিবোর্ড।
পথে প্রশ্ন আছে? সহায়তা পাতা উত্তরে ভরা — আর কোনো ধাপ আরও পরিষ্কার হতে পারলে, আমাদের জানান আর আমরা খুশি মনে টিউটোরিয়াল উন্নত করব।