معرفی
در این مقاله یک ویژگی بسیار اساسی را که در اکثر کنترلهای ورودی موجود است، Input Scope، پوشش خواهم داد. اگر تا به حال از آن در برنامه خود استفاده کرده اید، به این معنی است که از تجربه کاربری مراقبت می کنید، اما اگر هنوز از آن استفاده نکرده اید، به این معنی است که قدرت واقعی صفحه کلید WP8 را از دست داده اید. دلیل اینکه شما هنوز از آن استفاده نکرده اید می تواند این باشد که با آن آشنا نیستید یا هرگز به آن اهمیت نمی دهید. اما نقش بسیار مهمی در بهبود تجربه کاربری اپلیکیشن شما دارد. پس بیایید با تعریف آن شروع کنیم.
محدوده ورودی
Input Scope یک ویژگی کنترل ورودی است که محدوده ورودی را تعیین می کند. منظور من از scope نوع مقداری است که یک جعبه ورودی خاص می گیرد. Windows Phone 8 از انواع مختلفی از محدوده ورودی پشتیبانی می کند و در این مقاله به حوزه های ورودی زیر می پردازم:
- متن
شامل تصحیح خودکار، پیشنهادات و شکلک ها است. برای استفاده عمومی مفید است.
- EmaiUserName
شامل کلیدهای @ و .com است. فشار دادن و نگه داشتن .com گزینه های اضافی را نمایش می دهد. برای دریافت ایمیل به عنوان ورودی مفید است.
- URL
شامل کلید com است. با فشار دادن و نگه داشتن .com دامنه های دیگر نیز نمایش داده می شود. با فشار دادن و نگه داشتن کلید نقطه، سایر کاراکترهای مفید برای URL نمایش داده می شود.
- شماره
به شما امکان می دهد از اعداد به عنوان ورودی استفاده کنید. صفحه کلید عددی را باز می کند.
- جستجو
شامل پیشنهاداتی است. مانند متن اما بدون شکلک.
- فرمول
شامل پیشنهاداتی است. با فشار دادن و نگه داشتن کلید برابر، سایر نمادها نمایش داده می شود.
- چت
مخصوص چت. شکلک ها را نشان می دهد. پیشنهادها فعال هستند اما اصلاح خودکار وجود ندارد.
صفحه کلید عمومی
به طور کلی اکثر صفحه کلیدهای ویندوزفون دارای ویژگی های زیر هستند. هنگامی که هیچ محدوده ورودی استفاده نمی شود، از این صفحه کلید پیش فرض استفاده می شود. برخی از ویژگی های صفحه کلید به شرح زیر است:
- کلید نقطه را فشار داده و نگه دارید تا گزینه های اضافی نمایش داده شود (-! : .).
- کلیدهای &123 را فشار دهید تا به صفحه کلید شماره و نماد تغییر دهید.
- برای تغییر به صفحه کلید حروف الفبای پیش فرض، کلید "abcd" را فشار دهید.
- از فلش های چپ و راست برای دیدن صفحات اضافی کلیدها استفاده کنید.
نسخه ی نمایشی
نسخه ی نمایشی زیر استفاده از دامنه های ورودی ذکر شده در بالا را نشان می دهد. این شامل هشت جعبه متن با دامنه های ورودی مختلف است. دامنه های ورودی زیر استفاده می شود:
- کادر متنی 1 از محدوده ورودی "Number" استفاده می کند.
- جعبه متن 2 از محدوده ورودی "متن" استفاده می کند.
- جعبه متن 3 از "پیش فرض" یا بدون دامنه ورودی استفاده می کند.
- جعبه متن 4 از محدوده ورودی "EmailUserName" استفاده می کند.
- جعبه متن 5 از محدوده ورودی "Url" استفاده می کند.
- جعبه متن 6 از محدوده ورودی "جستجو" استفاده می کند.
- جعبه متن 7 از محدوده ورودی "فرمول" استفاده می کند
- کادر متنی 8 از محدوده ورودی «چت» استفاده می کند.
هر زمان که کاربر روی کادر ورودی کلیک می کند، صفحه کلید مربوطه بارگذاری می شود.
XAML
- <phone:PhoneApplicationPage
- x:Class="Demo.MainPage"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
- xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d"
- FontFamily="{StaticResource PhoneFontFamilyNormal}"
- FontSize="{StaticResource PhoneFontSizeNormal}"
- Foreground="{StaticResource PhoneForegroundBrush}"
- SupportedOrientations="Portrait" Orientation="Portrait"
- shell:SystemTray.IsVisible="True">
- <!--LayoutRoot is the root grid where all page content is placed-->
- <Grid x:Name="LayoutRoot" Background="Transparent">
- <Grid.RowDefinitions>
- <RowDefinition Height="112.662"/>
- <RowDefinition Height="655.338"/>
- </Grid.RowDefinitions>
- <!--TitlePanel contains the name of the application and page title-->
- <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,512" Grid.RowSpan="2">
- <TextBlock Text="Demo" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
- <TextBlock Text="Demo" Margin="9,-7,0,0" FontSize="40" />
- </StackPanel>
- <!--ContentPanel - place additional content here-->
- <StackPanel Orientation="Vertical" Grid.Row="2">
- <TextBox Text="Numbers" InputScope="Number" Margin="0 0 0 10" Height="69" ></TextBox>
- <TextBox Text="Text" InputScope="Text" Margin="0 0 0 10" Height="69" ></TextBox>
- <TextBox Text="Default" Margin="0 0 0 10" Height="69" ></TextBox>
- <TextBox Text="Email" InputScope="EmailUserName" Margin="0 0 0 10" Height="69" ></TextBox>
- <TextBox Text="Url" InputScope="Url" Margin="0 0 0 10" Height="69" ></TextBox>
- <TextBox Text="Search" InputScope="Search" Margin="0 0 0 10" Height="69" ></TextBox>
- <TextBox Text="Formula" InputScope="Formula" Margin="0 0 0 10" Height="69" ></TextBox>
- <TextBox Text="Chat" InputScope="Chat" Margin="0 0 0 10" Height="69" ></TextBox>
- </StackPanel>
- </Grid>
- </phone:PhoneApplicationPage>
هشدار
محدودههای ورودی زیر در برنامههای Windows Phone پشتیبانی نمیشوند و نباید استفاده شوند:
- ApplicationEnd
برای استفاده داخلی در ویندوز فون. - EnumString
برای استفاده داخلی در ویندوز فون. - PhraseList
الگوی ورودی متن برای لیست عبارات.
- خصوصی
برای استفاده داخلی در ویندوز فون.
- RegularExpression
الگوی ورودی متن برای یک عبارت منظم.
- Srgs
الگوی ورودی متن برای مشخصات گرامر تشخیص گفتار (SRGS).
- XML
الگوی ورودی متن برای XML.