تُنشئ الظلال إشارات مرئية في الواجهة ، مما يساعد الدماغ البشري على التمييز بين عنصر واجهة المستخدم الذي يراه المستخدم. وهذا هو السبب وراء تفضيل مصممي الأجهزة المحمولة فعليًا دمج الظلال في تصميماتهم.
توفر فئة DropShadow وسائل لإنشاء ظل قابل للتكوين يمكن تطبيقه على التخطيط .
public class DropShadow : BindableObject
{
public static readonly BindableProperty RadiusProperty = BindableProperty.Create(
nameof(Radius), typeof(double), typeof(DropShadow), 10.0d);
public double Radius
{
get => (double)GetValue(RadiusProperty);
set => SetValue(RadiusProperty, value);
}
public static readonly BindableProperty ColorProperty = BindableProperty.Create(
nameof(Color), typeof(Color), typeof(DropShadow), Color.Black);
public Color Color
{
get => (Color)GetValue(ColorProperty);
set => SetValue(ColorProperty, value);
}
public static readonly BindableProperty OffsetProperty = BindableProperty.Create(
nameof(Offset), typeof(Point), typeof(DropShadow), new Point(1, 1));
public Point Offset
{
get => (Point)GetValue(OffsetProperty);
set => SetValue(OffsetProperty, value);
}
public static readonly BindableProperty OpacityProperty = BindableProperty.Create(
nameof(Opacity), typeof(double), typeof(DropShadow), 1.0d);
public double Opacity
{
get => (double)GetValue(OpacityProperty);
set => SetValue(OpacityProperty, value);
}
}
دعونا نرى مثالاً باستخدام C # و XAML و CSS.
var layout = new Grid();
var shadow = new DropShadow ();
shadow.Radius = 12;
shadow.Color = Color.Red;
shadow.Offset = new Point (12, 18);
shadow.Opacity = 0.75d;
layout.Shadow = shadow;
<Grid>
<Grid.Shadow>
<DropShadow
Radius="12"
Color="Red"
Offset="12, 18"
Opacity="0.75" />
</Grid.Shadow>
</Grid>
box-shadow: 12px 18px 12px 12px red;
لدينا بالفعل ظلال في بعض تخطيطات Xamarin.Forms. ستصبح خاصية HasShadow الخاصة بالإطار مهملة (لا يزال من الممكن استخدامها ، على الرغم من أن استخدام خاصية Shadow موصى به).
في هذه المواصفات ، نضيف الظلال إلى تخطيطات Xamarin.Forms المختلفة. لا تندرج عناصر التحكم المحددة ، مثل التسمية ، ضمن النطاق (يمكن أن تأتي لاحقًا).
تبدو رائعة!
مذهل! أنا حقا أود أن أرى هذه الميزة. ومع ذلك ، أعتقد أنه يمكننا اغتنام الفرصة لتحسين هذا أكثر بقليل عن طريق إضافة إمكانيات ظل التدرج.
كما ذكرها jsuarezruiz هنا: https://github.com/dotnet/maui/issues/11
توصيتي بتحسين خاصية "اللون" لاستخدام "الفرش" الجديدة للتدرجات والألوان الصلبة.
<Grid>
<Grid.Shadow>
<DropShadow
Radius="12"
Offset="12, 18"
Opacity="0.75">
<DropShadow.Color>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Red" Offset="0.25" />
<GradientStop Color="Blue" Offset="0.75" />
<GradientStop Color="LimeGreen" Offset="1.0" />
</LinearGradientBrush>
</DropShadow.Color>
</DropShadow>
</Grid.Shadow>
</Grid>
ماذا تعتقد؟
يمكن أن يكون رائعًا لإضافة ظل متعدد لتصميم الشكل العصبي.
هذه هي الموضة الجديدة ...
التعليق الأكثر فائدة
مذهل! أنا حقا أود أن أرى هذه الميزة. ومع ذلك ، أعتقد أنه يمكننا اغتنام الفرصة لتحسين هذا أكثر بقليل عن طريق إضافة إمكانيات ظل التدرج.
كما ذكرها jsuarezruiz هنا: https://github.com/dotnet/maui/issues/11
توصيتي بتحسين خاصية "اللون" لاستخدام "الفرش" الجديدة للتدرجات والألوان الصلبة.
عينة
ماذا تعتقد؟