جستجو در تالار

در حال نمایش نتایج برای برچسب های 'رسپانسیو'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


تالار ها

  • عمومی
    • اطلاعیه
    • اخبار
    • پیشنهادها و انتقادات
    • درخواست آموزش
    • مشکلات و مسائل انجمن
    • متفرقه
  • سوالات، مشکلات و درخواست
    • ویندوز استور
    • وب (ASP.Net)
    • ویندوز دسکتاپ (Win32 & WPF)
    • زامارین فرم (Xamarin.Forms)
    • زامارین اندروید
    • زامارین iOS
    • دات نت کور
    • اینترنت اشیاء (IOT)
    • سوالات کلی و عمومی
  • توسعه نرم افزارهای ویندوز استور
    • سوالات، مشکلات پروژه های ویندوز استور
    • مقالات، کتاب ها و منابع آموزشی
    • سورس کدهای آموزشی
  • برنامه نویسی زامارین
    • زامارین فرم (Xamarin.Forms)
    • زامارین ios
    • زامارین اندروید
    • عمومی
  • برنامه نویسی ASP.NET
    • مقالات، کتاب ها و منابع آموزشی
    • .Net Core
    • ASP.NET MVC
    • ASP.NET WebForm
  • اینترنت اشیاء
    • مقالات، کتاب ها و منابع آموزشی
    • سخت افزار
    • نرم افزار
    • پروژه ها
  • متفرقه
    • آموزش ابزارها و نرم افزار ها
    • آموزش های سرویس ها و سایت ها
    • سوالات و مشکلات برنامه نویسی Win 32
  • نرم افزار
    • نرم افزار های تیم انجمن
    • نرم افزار های ساخت شما
    • سفارش نرم افزار و برنامه نویسی
    • معرفی ابزارها و نرم افزارهای مرتبط
    • درخواست ابزار کمکی
    • مشکلات و سوالات در مورد نرم افزار ها

گروه


آدرس تارنما


یاهو


اسکایپ


حساب مایکروسافت


شماره تماس


تلگرام


مکان


علایق


نام توسعه دهندگی

2 نتیجه پیدا شد

  1. سلام؛ اگر شما هم با پنل GridView کار کرده باشید، حتما در نمایش آیتم ها در صفحات مختلف دچار مشکل فضای خالی در طرفین آیتم ها شدید. متاسفانه این کنترل به خوبی بهینه نشده و کاملا رسپانسیو عمل نمی کند. بنابراین باید از راه حلی دیگر این مشکل رو جبران کنیم تا آیتم ها تمام عرض پنل رو بپوشانند و فضای خالی آزار دهنده ای جلوی چشم مخاطب قرار نگیرد. اما حالا بریم سراغ توضیحات: ابتدا در xml کنترل گرید ویو، کدهای زیر رو اضافه می کنیم، تا عرض هر آیتم به اندازه فضای آزاد برسه: GridView.ItemContainerStyle> <Style TargetType="GridViewItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> <Setter Property="VerticalContentAlignment" Value="Stretch" /> </Style> </GridView.ItemContainerStyle> به این منظور باید در رویداد SizeChanged گرید ویو میزان عرض هر آیتم رو بصورت دستی تغییر بدیم. من برای این کار تعداد ستون هایی رو که می خوام در عرض صفحه میشه نمایش داد رو محاسبه می کنم و سپس این عرض "حداکثری" رو به آیتم ها می دم. من عرض حداکثری هر آیتم رو 850 انتخاب کردم: private void gvFave_SizeChanged(object sender, SizeChangedEventArgs e) { var columns = Math.Ceiling(ActualWidth / 850); ((ItemsWrapGrid)gvFave.ItemsPanelRoot).ItemWidth = e.NewSize.Width / columns; } به همین سادگی می تونید از شر فضای خالی راحت بشید. اگر سوالی بود در خدمتم. با تشکر
  2. چند سالی است که واژه "واکنش گرا" یا Responsive بودن در دنیای برنامه نویسی به کار برده می شود و نمای تازه و جذابی به برنامه ها داده است، انعطاف پذیری برنامه با سایز صفحه نمایش، تغییر نمایش یا اندازه یک کنترل یا یک عکس باعث جذابیت بیش از حد این نوع طراحی شده است. با فراگیر شدن دستگاه های متعدد انعطاف پذیری برنامه، کلید موفقیت جذابیت و کسب و کار شده است. امروزه کاربران از بیشمار نمایشگر در ابعاد بزرگ و کوچک برای یک برنامه یا یک صفحه اینترنتی استفاده می کنند. این نوع طراحی ابتدا برای صفحات اینترنتی ساخته شد، سپس به نرم افزارهای دستگاه های دیگر (مانند موبایل، تبلت و...) راه یافت. ویندوز 10 نیز یکی از مواردی است که با آن به راحتی با اضافه کردن چند خط کد می توان نرم افزار را واکنش گرا کرد و دیگر نیازی به ساخت کنترل در ابعاد متفاوت نیست. در ویندوز 10 برای رسپانسیو یا واکنش گرا کردن نرم افزار از کلاس VisualStateManager استفاده می شود که با دو جزء برای پیاده سازی طراحی های XAML توسعه پیدا کرده است. ای پی آی های جدید VisualState.StateTriggers و VisualState.Setters به شما اجازه می دهند که برای Visual States شرایط خاصی را در نظر بگیرید. استفاده از AdaptiveTrigger در VisualState به عنوان یک StateTrigger می توان Property های MinWindowHeight(کوچکترین طول صفحه) و MinWindowWidth(کوچکترین اندازه عرض صفحه) را تغییر داد که بر اساس طول و عرض صفحه برنامه می باشد. تعیین "کوچکترین اندازه طول صفحه" باعث می شود که نرم افزار در آن اندازه و اندازه های بزرگتر به صورتی دیگر نمایش داده شود. برای مثال "کوچکترین اندازه طول صفحه" را برابر با 720 پیکسل قرار میدهیم، این عدد به معنای این است که اگر اندازه طول صفحه نمایش برابر یا بزرگتر از 720 پیکسل بود، کنترل های ما به شکل دیگری تغییر پیدا کنند. شاید این سوال برای شما پیش آید که آیا فقط می توان یکبار و برای یک اندازه، مشخص کرد که تغییراتی را در برنامه ایجاد شود؟ جواب این سوال خیر است، ما می توانیم چندین اندازه متفاوت قرار دهیم، البته با این کار باید برای هر اندازه تعیین کنیم که کنترل های ما چگونه خواهند بود یا چه مواردی از آنها کم یا زیاد باید شود. فرض کنید شما VisualStateـی برای اندازه های 720 و 480 و 0 طراحی کرده اید. این اعداد به معنای این هستند که چنانچه اندازه برابر یا بزرگتر مساوی 720 پیکسل بود، VisualState مربوط به 720 پیکسل اعمال شود. چنانچه عدد برابر یا بزرگتر از 480 پیکسل باشد خودکار به معنای این است که "چنانچه عدد بزرگتر مساوی 480 پیکسل و کوچکتر 720 پیکسل باشد VisualState 480 پیکسل اجرا شود". بله درست متوجه شدید! زمانی که دو عدد برای اندازه تعیین کنیم، عدد کوچکتر وابسته به اندازه بزرگتر خواهد بود در اینجا سه عدد نوشته شد، که به برای صفر پیکسل و بزرگتر از آن، "بزرگتر مساوی صفر و کوچکتر از 480 پیکسل" و برای 480 پیکسل، "بزرگتر مساوی 480 و کوچکتر از 720 پیکسل" و برای 720، "بزرگتر مساوی 720 پیکسل" خواهد بود. در اصل مانند شرط عمل می کنند. پروژه ویندوز 10 جدیدی به نام WN Responsive ایجاد نمایید: صفحه طراحی MainPage.xaml را باز کنید و درون کنترل Grid یک کنترل StackPanel قرار دهید، نام این کنترل را myStackPanel قرار دهید و Propertyـه Orientation را برابر با Horizontal قرار دهید تا نمایش کنترل ها درون این StackPanel به صورت افقی در آید. درون این StackPanel قرار است سه دکمه قرار دهیم که به ترتیب برای دکمه اول تغییر اندازه، دکمه دوم تغییر رنگ و دکمه سوم تغییر متن را با تغییر طول صفجه خواهیم داشت. کدهای شما باید این شکل باشند: <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <StackPanel x:Name="myStackPanel" Orientation="Horizontal"> <Button x:Name="myButton1" Content="Windows 10" HorizontalAlignment="Center" Width="160" Background="DarkGreen" Margin="5"/> <Button x:Name="myButton2" Content="Win-Nevis.com" HorizontalAlignment="Center" Width="160" Background="DarkGreen" Margin="5" /> <Button x:Name="myButton3" Content="Persian" HorizontalAlignment="Center" Width="160" Background="DarkGreen" Margin="5" /> </StackPanel> </Grid> اکنون درون Grid اصلی یک VisualStateManager ایجاد می کنیم. سپس درون آن یک VisualStateGroup تعریف می کنیم، تعاریف VisualStateها درون VisualStateGroup خواهد بود. هر VisualState دارای یک VisualState.StateTriggers است که با استفاده از AdaptiveTrigger میتوان کوچکترین اندازه طول یا عرض صفحه یا هر دو، را تعیین کرد. در اینجا برای کوچکترین عرض صفحه در VisualState اول، عدد 720 پیکسل را قرار داده ایم، این ویژوال اِستِیت چیزی را تغییر نمی دهد، چرا که نیاز داریم در اندازه 720 پیکسل به بالا کنترل ها به حالت پیشفرضی که در بیرون از VisualStateManager تعریف شده اند باز گردند.(چنانچه این حالت را نگذاریم خودکار حالت 480 پیکسل انتخاب خواهد شد و طراحی هایی که در بیرون از VisualStateManager تعریف شده اند به نمایش نخواهد در آمد.) درون VisualState دوم، عدد به 480 پیکسل تغییر پیدا کرده است. درون این VisualState، کلاس دیگری به نام VisualState.Setters تعریف شده است، تمامی مواردی که می خواهیم آنها را تغییر دهیم با شئ ای به نام Setter در VisualState.Setters تعیین خواهیم کرد. در اینجا یک Setter تعیین کرده ایم که خاصیت Orientation کنترل myStackPanel را به حالت افقی تغییر داده ایم. البته تمام خواصی که شما می توانید برای یک کنترل در XAML تغییر دهید، در اینجا قابل تغییر است. فقط کافی است که نام دقیق کنترل مورد نظر + یک نقطه + خاصیت(Property)ـه مورد نظر را درون خاصیت Targetـه Setter بنویسید(دقیقا مانند کدهایی که برای تغییر یک Property در سی شارپ انجام می دهید)، سپس با استفاده از Value مقداری که می خواهید Propertyـه مورد نظر داشته باشد، را تغییر دهید. تمامی کدها صفحه MainPage.xaml: <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <StackPanel x:Name="myStackPanel" Orientation="Horizontal"> <Button x:Name="myButton1" Content="Windows 10" HorizontalAlignment="Center" Width="160" Background="DarkGreen" Margin="5"/> <Button x:Name="myButton2" Content="Win-Nevis.com" HorizontalAlignment="Center" Width="160" Background="DarkGreen" Margin="5" /> <Button x:Name="myButton3" Content="Persian" HorizontalAlignment="Center" Width="160" Background="DarkGreen" Margin="5" /> </StackPanel> <VisualStateManager.VisualStateGroups> <VisualStateGroup> <VisualState> <VisualState.StateTriggers> <AdaptiveTrigger MinWindowWidth="720" /> </VisualState.StateTriggers> </VisualState> <VisualState> <VisualState.StateTriggers> <AdaptiveTrigger MinWindowWidth="480" /> </VisualState.StateTriggers> <VisualState.Setters> <Setter Target="myStackPanel.Orientation" Value="Vertical" /> <Setter Target="myButton1.Width" Value="300" /> <Setter Target="myButton2.Background" Value="Orange" /> <Setter Target="myButton3.Content" Value="Iranian Developers" /> </VisualState.Setters> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> </Grid> تصویر برنامه برای 720 پیکسل: تصویر برنامه برای 480 پیکسل: دانلود سورس کد منبع: وین نویس