Blazor - تخصيص Layout لأجزاء مختلفة من التطبيق
🔹 Blazor - تخصيص Layout لأجزاء مختلفة من التطبيق
أحيانًا نحتاج أكثر من Layout في نفس تطبيق Blazor: واحد للزوار، وآخر للإدارة، وربما ثالث للهواتف المحمولة. في هذا الدرس، ستتعلم كيف تنشئ أكثر من Layout وتربط كل واحد بصفحات مختلفة حسب الحاجة.
---🎯 متى نستخدم أكثر من Layout؟
- صفحات الإدارة تختلف عن صفحات المستخدم العادي.
- تريد صفحات بدون قائمة جانبية.
- تحتاج Layout خاص لطباعة أو شاشة تسجيل الدخول.
🛠️ خطوات إنشاء أكثر من Layout
✅ 1. أنشئ Layout رئيسي:
<div class="p-4">
<h2>🌐 الواجهة العامة</h2>
@Body
</div>
✅ 2. أنشئ Layout إداري:
<div class="admin-container">
<nav class="bg-dark text-white p-2">⚙️ لوحة التحكم</nav>
<section class="p-4">
@Body
</section>
</div>
---
📥 استخدام Layout مخصص في صفحة معينة
في أعلى الصفحة، استخدم توجيه @layout
لتحديد Layout:
@page "/admin-dashboard"
@layout AdminLayout
<h3>📊 لوحة تحكم المشرف</h3>
<p>مرحبًا بك في منطقة الإدارة.</p>
---
⚙️ تخصيص التخطيط تلقائيًا عبر RouteView
يمكنك إنشاء مكون RouteView مخصص لتحديد الـ Layout بناءً على الشرط:
@inherits RouteView
@{
var layout = RouteData.PageType.Name.Contains("Admin")
? typeof(AdminLayout)
: typeof(MainLayout);
}
<LayoutView Layout="@layout" RouteData="@RouteData" />
ثم استخدمه في App.razor:
<Found Context="routeData">
<CustomRouteView RouteData="@routeData" />
</Found>
<NotFound><h3>❌ الصفحة غير موجودة</h3></NotFound>
---
💡 ملاحظات هامة
- كل Layout يجب أن يحتوي على
@Body
لعرض محتوى الصفحات. - يمكنك تنسيق كل Layout حسب الغرض منه (ألوان، قوائم، إعدادات...).
- إنشاء Layout متعدد يحسّن تجربة المستخدم حسب الدور أو القسم.
✅ خلاصة الدرس
في Blazor يمكنك إنشاء أكثر من Layout وربط كل واحد بمجموعة من الصفحات حسب نوعها. هذه الطريقة تُنظم التطبيق وتجعله أكثر احترافية ومرونة.
تعليقات
إرسال تعليق