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

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



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

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

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

نوع محتوا


تالار ها

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

گروه


آدرس تارنما


یاهو


اسکایپ


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


شماره تماس


تلگرام


مکان


علایق


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

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

  1. با سلام من یک یوزر کنترل ساخته ام حاوی سه تکست بلاک. در کد بیهایند هم دو دپندنسی پراپرتی از نوع int وجود دارد که تکست بلاک اول و دوم از آن بایند میکند. ​اگر بخواهیم که تکست بلاکمان مساوی با حاصلضرب دو دپندنسی پراپرتی فوق باشد چه کنیم؟
  2. سلام رفتار ها باعث جلوگیری از تکرار یک کد در درون یک برنامه می شوند. فرض کنید ما میخواهیم که از دکمه های مختلفی داخل برنامه بتوانیم برنامه را ببندیم (از آن خارج شویم), بجای تکرار کد خروج یک بار آن را بصورت رفتار می نویسیم و همه جا از آن استفاده میکنیم. ابتدا نوگت پکیج زیر رو نصب میکنیم : Microsoft.Xaml.Behaviors.uwp.managed بهتره بجای ویژوال استودیو از Blend استفاده کنیم که همراه ویژول نصب شده و مناسب اینجور کار ها هستش (کار های مربوط به رابط کاربری). ابتدا صفحه (Page) مورد نظرتون رو باز کنید. از پنجره ی Assets قسمت Behaviors رو انتخاب کنید. اگر هنوز نوگت رو نصب نکردید اینجا خودش بهتون اجازه میده با یه دکمه نصب کنید. حالا لیست Behavior های آماده رو بهتون نشون میده. پر کاربرد ترینش EventTriggerBehavior هستش که بهتون اجازه میده در هنگام وقوع یک رخداد (event) یک Action رو اجرا کنید . Action ها مثل متد ها هستند یک کار رو انجام میدن و تمام ... لیست اکشن های آماده رو میتونید از همون قسمت Behaviors ببینید. بطور مثال CallMethodAction که یک متد رو صدا میزنه. وقتی از EventTriggerBehavior استفاده میکنیم یک پراپرتی داره به اسم EventName که اسم ایونت ای هستش که مد نظر ماست مثلا کلیک EventName="Click" حالا ما یک رفتار میسازیم که در واکنش به کلیک یک دکمه یک متد رو صدا بزنه <Page .... xmlns:interactivity="using:Microsoft.Xaml.Interactivity" xmlns:core="using:Microsoft.Xaml.Interactions.Core" xmlns:behaviors="using:MyApp.Behaviors"> <Grid> <Button Content="Close"> <interactivity:Interaction.Behaviors> <Core:EventTriggerBehavior EventName="Click"> <Core:CallMethodAction MethodName="ButtonClicked" TargetObject="{Binding}"/> </Core:EventTriggerBehavior> </interactivity:Interaction.Behaviors> </Button> </Grid> </Page> حالا کافی است تا متد مورد نظر ما که با نام ButtonClicked مشخص شده درون آبجکتی که در DataContext ما می باشد که معمولا ViewModel ما در معماری MVVM است قرار داشته باشد. با کلیک بر روی دکمه متد مورد نظر اجرا خواهد شد.
  3. سلام رفتار ها باعث جلوگیری از تکرار یک کد در درون یک برنامه می شوند. فرض کنید ما میخواهیم که از دکمه های مختلفی داخل برنامه بتوانیم برنامه را ببندیم (از آن خارج شویم), بجای تکرار کد خروج یک بار آن را بصورت رفتار می نویسیم و همه جا از آن استفاده میکنیم. ابتدا نوگت پکیج زیر رو نصب میکنیم : Microsoft.Xaml.Behaviors.uwp.managed حالا یک کلاس میسازیم که از کلاس زیر ارث بری میکند Behavior<T> تایپT میشه المنت مورد نظر ما که behavior بر روی آن اعمال می شود مثلا ExitButtonBehavior : Behavior<Button> توی کلاس دو تا متد مهم داریم که باید override کنیم OnAttached OnDetaching اولی برای مواقعی هستش که behavior وصل میشه به المنت مورد نظر و دومی برای وقتی که پاک میشه (اتوماتیکه, دست ما نیست) توی این کلاس یه پراپرتی داری به اسم AssociatedObject که میشه آبجکت همون T یعنی مثلا دکمه ای که این رفتار رو بهش وصل کردیم ,و هر کاری که بخواهیم باهاش می تونیم بکنیم مثلا اینجا من یه رفتار ساختم که با کلیک روی دکمه ای که بهش نسبت داده شده برنامه بسته میشه : ExitButtonBehavior : Behavior<Button> ​{ public override void OnAttached() { AssociatedObject.DragOver += MyButton_Click; } public override void OnDetaching() { AssociatedObject.DragOver -= MyButton_Click; } private void MyButton_Click(object sender, RoutedEventArgs e) { Application.Exit(); } } حالا این رفتار رو باید داخل زمل به دکمه ی مورد نظر خودمون اعمال کنیم : <Page .... xmlns:interactivity="using:Microsoft.Xaml.Interactivity" xmlns:core="using:Microsoft.Xaml.Interactions.Core" xmlns:behaviors="using:MyApp.Behaviors"> <Grid> <Button Content="Close"> <interactivity:Interaction.Behaviors> <behaviors:ExitButtonBehavior/> </interactivity:Interaction.Behaviors> </Button> </Grid> </Page> و تمام حالا با کلیک روی دکمه برنامه بسته میشه! و قسمت Code Behind صفحه مون دست هم نخورد!
  4. چارچوب XAML راه های بسیاری را به ما می دهند تا بتوانیم ظاهر برنامه هایمان را سفارشی سازی کنیم. استایل دادن به کنترل ها Style ها به شما اجازه می دهند که خواص کنترل ها را تنظیم کرده و از آن تنظیمات برای ظاهر چندین کنترل استفاده نماییم قالب های کنترل می توانید ساختار بصری و رفتار بصیری یک کنترل را با ساخت قالب برای کنترل هایتان در چارچوب XAML سفارشی سازی کنید. ResourceDictionary و منابع XAML توضیح می دهد که چگونه یک عنصر ResourceDictionary و منابع کلیدی تعریف می شود، و چگونه منابع XAML به باقی منابعی که شما تعریف کردید بخشی از برنامه یا پکیج برنامه شما باشد. منابع پوسته در XAML منابع پوسته ها در XAML مجموعه ای از تنظیمات منابعی است که مقادیر مختلفی را بسته به پوسته ای که در سیستم عامل فعال است، تعیین می کند. سه پوسته در چارچوب XAML پشتیبانی می شوند "تاریک" ، "روشن" ، "کنتراست بالا" | Dark, Light, HighContrast استایل کنترل ها شما می توانید ظاهر نرم افزار های خود را به روش های گوناگونی سفارشی سازی کنید. Style ها به شما اجازه می دهند که خواص کنترل ها را تنظیم کرده و از آن تنظیمات برای ظاهر چندین کنترل استفاده نماییم. شما یک قالب کنترل(Control Template) را زمانی ایجاد می کنید که می خواهید ساختار بصری و رفتار بصری کنترل را سفارشی سازی کنید. اصول پایه استایل دهی از استایل ها برای استخراج تنظیمات خواص بصری که می توانند دوباره استفاده مجدد شوند، استفاده می کنیم. در اینجا نمونه ای می زنیم که نشان می دهد سه دکمه با یک استایل که خواص BorderBrush، BorderThickness و Foreground برای آن تعیین شده است، استفاده می کنند. با اعمال یک استایل، شما می توانید کنترل هایی شبیه به هم ایجاد کنید بدون آنگه دوباره آن تنظیمات را برای هر کنترل به طور جداگانه تعیین کنید. شما می توانید یک استایل را به صورد درونی برای یک کنترل یا یک منبع قابل استفاده تعیین کنید. منابع می تواند در صفحه های XAML مورد نظرمان، درون صفحه App.xaml یا در صفحهات جداگانه که فایل XAMLـه ResourceDictionary نامیده می شوند تعریف کنید. یک فایل منبع دیکشنری XAML می تواند در سراسر برنامه به اشتراک گذاشته شود، بیش از یک منبع دیکشنری می تواند در یک برنامه ادغام شود. هر جایی که منبع تعریف شده است تعیین می کند که حوزه استفاده از آن چه محدوده ای داشته باشد. منابع سطع صحفه(درون یک صفحه XAML) فقط در همان صفحه ای که تعریف شده اند قابل استفاده است. اگر منابع با کلیدی که در App.xaml باشد درون صفحه همنام باشد، منبعی که درون صفحه، منبع درون App.xaml را بازنویسی می کند. اگر یک منبع در فایل های دیکشنری جداگانه ای تعریف شود، حوزه استفاده آن توسط جایی که این منبع به آن اشاره می کند، تعیین می شود. در تعریف استایل، شما نیاز به یک ویژگی به نام TargetType(نوع هدف)، و یک کالکشن از یک یا چندین عنصر Setter. ویژگی TargetType یک رشته است که FrameworkElementـی را برای اعمال در استایل مشخص می کند. مقدار TargetType باید از نوع یک FrameworkElement مشتق شده باشد که توسط Windows Runtime یا یک نوع سفارشی که درون برنامه تعریف شده و در دسترس است، باشد. اگر شما سعی کنید که یک استایل را برای یک کنترل اعمال کنید و نوع کنترل مورد نظر با ویژگی TargetType مطابقت نداشته باشد، یک استثنا(Exception) دریافت خواهید کرد. هر عنصر Setter دارای یک Property(خاصیت) و یک Value(مقدار) است. تنظیمات این خواص نشان می دهد که تنظیمات خواص کنترل و مقادیر آن خواص برای چه چیزی اعمال شده است. شما می تواند Setter.Value را با هر عنصر یا خاصیت عنصری تنظیم کنید. کد XAMLـی که اینجاست، استایل هایی که به دکمه ها در عکس پیشین اعمال شده بود را نشان می دهد. در این XAML، در ابتدا دو عنصر Setter در بدنه به عنوان ویژگی استفاده شده است، اما آخرین Setter، برای تعیین خاصیت BorderBrush در بدنه به عنوان عنصر استفاده شده است. در این نمونه از ویژگی x:Key که کلید استایل را تعیین می کند استفاده نشده است، پس استایل به صور ضمنی برای دکمه ها اعمال می شود. اعمال استایل های ضمنی درون بخش بعدی توضیح خواهد شد. <Page.Resources> <Style TargetType="Button"> <Setter Property="BorderThickness" Value="5" /> <Setter Property="Foreground" Value="Blue" /> <Setter Property="BorderBrush"> <Setter.Value> <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> </Setter.Value> </Setter> </Style> </Page.Resources> <StackPanel Orientation="Horizontal"> <Button Content="Button" /> <Button Content="Button" /> <Button Content="Button" /> </StackPanel> اعمال یک استایل ضمنی یا صریح اگر شما درون یک منبع استایلی را تعریف کنید، دو نوم راه برای اعمال آن برای کنترل خود دارید: · به صورت ضمنی، با تعیین فقط یک TargetType برای استایل. (یعنی کلیدی تعریف نکنید) · به صورت صریح، با مشخص کردن یک TargetType و یک ویژگی کلید x:Key برای استایل و سپس با تنظیم این استایل با استفاده از کد {StaticResource} و نام کلید جلوی آن. اگر استایلی دارای ویژگی x:Key باشد، شما می توانید فقط برای کنترل هایی که می خواهید این استایل را داشته باشند با تعیین کلید این استایل آنرا تنظیم و اعمال کنید. تضاد این موضوع، آن است که استایل را بدون ویژگی x:Key تعریف کیند تا به طور خودکار برای همه ی کنترل هایی که درون TargetTypeـه استایل تعیین شود که به صورت صریح تنظیمات استایل تعریف نشده است، اعمال شود. این دو دکمه نمونه ای از استایل ضمنی و صریح را نشان می دهند: در این مثال، اولین استایل دارای یک ویژگی x:Key است و TargetType آن برابر با Button است. اولین خاصیت استایل دکمه، به این کلید تنظیم شده است، پس این استایل از نوع صریح را اعمال کرده است. دومین استایل به صورت ضمنی برای دکمه دوم اعمال شده است چرا که TargetTypeـه آن برابر با Button است و استایل آن نیز بدون ویژگی x:Key است. <Page.Resources> <Style x:Key="PurpleStyle" TargetType="Button"> <Setter Property="FontFamily" Value="Lucida Sans Unicode" /> <Setter Property="FontStyle" Value="Italic" /> <Setter Property="FontSize" Value="14" /> <Setter Property="Foreground" Value="MediumOrchid" /> </Style> <Style TargetType="Button"> <Setter Property="FontFamily" Value="Lucida Sans Unicode" /> <Setter Property="FontStyle" Value="Italic" /> <Setter Property="FontSize" Value="14" /> <Setter Property="RenderTransform"> <Setter.Value> <RotateTransform Angle="25" /> </Setter.Value> </Setter> <Setter Property="BorderBrush" Value="Orange" /> <Setter Property="BorderThickness" Value="2" /> <Setter Property="Foreground" Value="Orange" /> </Style> </Page.Resources> <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"> <Button Content="Button" Style="{StaticResource PurpleStyle}" /> <Button Content="Button" /> </StackPanel> استفاده از استایل Based-on(بر پایه...) برای آسانتر ساختن استایل ها و حف و بهینه سازی برای استفاده مجدد از آن ها، شما می توانید استایل ها طوری بسازید که یک استایل از استایل دیگری ارث بری کند. شما از خاصیت BasedOn برای ساخت استایل ارث بری استفاده خواهید کرد. استایل هایی که از استیل های دیگر ارث بری می کنند باید TargetTypeـه آن مثل کنترلی که می خواهیم، یا کنترلی که از آن مشتق شده است باشد. برای مثال، اگر پایه یک استایل بر اساس ContentControl باشد، استایل هایی که از این استایل ارث بری می کنند می توانند Target(مقصد)ـی از ContentControl یا انواعی از کنترل ها باشد از ContentControl مشتق شده اند مانند Button و ScrollViewer. اگر یک مقدار بر پایه استایلی تنظیم نشود، ار استایل پایه ارث بری خواهد کرد. برای تغییر یک مقدار از استایل پایه، استایل based-on آن مقدار را بازنویسی خواهد کرد. در مثال بعدی یک دکمه و یک CheckBox را که از استایل پایه ارث بری می کنند نشان می دهد. Targetـه استایل پایه ContentControl می باشد، و خاصیت های Height(ارتفاع)، و Width(عرض) را تنظیم می کند. استایل هایی که بر پایه این استایل هستند CheckBox و Button را مورد هدف قرار می دهند که از ContentControl مشتق شده اند. استایل های based-on رنگ های متفاوتی را برای خاصیت های BorderBrush و Foreground تنظیم می کنند.(شما به طور معمول یک بردر را اطراف یک CheckBox قرار نمی دهید. در اینجا ما این کار را انجام دادیم تا به شما تاثیرات استایل دهی را نشان دهیم.) <Page.Resources> <Style x:Key="BasicStyle" TargetType="ContentControl"> <Setter Property="Width" Value="130" /> <Setter Property="Height" Value="30" /> </Style> <Style x:Key="ButtonStyle" TargetType="Button" BasedOn="{StaticResource BasicStyle}"> <Setter Property="BorderBrush" Value="Orange" /> <Setter Property="BorderThickness" Value="2" /> <Setter Property="Foreground" Value="Red" /> </Style> <Style x:Key="CheckBoxStyle" TargetType="CheckBox" BasedOn="{StaticResource BasicStyle}"> <Setter Property="BorderBrush" Value="Blue" /> <Setter Property="BorderThickness" Value="2" /> <Setter Property="Foreground" Value="Green" /> </Style> </Page.Resources> <StackPanel> <Button Content="Button" Style="{StaticResource ButtonStyle}" Margin="0,10" /> <CheckBox Content="CheckBox" Style="{StaticResource CheckBoxStyle}" /> </StackPanel> کتاب الکترونیک این درس پیوست شد. این درس به اتمام رسید، امیدوارم همچنان همراه ما باشید... . منبع: وین نویس Windows 10 Introduction S01E06.pdf
  5. با سلام و خسته نباشید، برای ایجاد SolidColorBrush، باید آن را درون تگ Resource هر المنتی که خواستید بنویسید، در اینجا برای راحتی کار در صفحه App.xaml مینوسیم: <Application.Resources> <SolidColorBrush x:Key="ApplicationAccent" Color="#FF725B48"/> </Application.Resources> سپس گریدی به نام grdTest مثلا در صفحه MainPage.xaml ایجاد میکنیم. به Code Behind یا قسمتی که کدهای سی شارپ در آنجا نوشته میشود میرویم. کدهای زیر را در قسمت زیرین this.InitializeComponent(); مینویسیم: SolidColorBrush redButtonStyle = (SolidColorBrush)Application.Current.Resources["ApplicationAccent"]; grdTest.Background = redButtonStyle; با اجرای برنامه خواهید دید که توانستیم با سی شارپ به SolidColorBrush ایجاد شده در ریسورس XAMl دسترسی پیدا کنیم. برای اینکه در خود xaml هم این رنگ را به کار ببریم کافی است خط زیر را بنویسی: <Grid Background="{Binding ApplicationAccent}"/> تمام
  6. سلام میخوام یه قالب داشته باشم که برای تمام پیج های دیگه ام هم باشه مثل Master Page ها در asp.net مثلن یه منوی همبرگری در سمت چپ و یه جور نوار ابزار هم در بالا و وقتی بخوام از پیجی به پیج دیگه برم اینا سرجاشون باشن فقط محتوای وسط تغییر کنه ! نمیخوام برای هر پیج توی فایل Xaml شون دوباره بیام همه ی کد هارو بنویسم چه کار باید بکنم؟
  7. سلام، من کد زیر رو نوشتم، ولی نمیتونم که اندازه کل شکل هارو کوچک کنم، وقتی هم که Strechشون رو هم تغیییر میدم به UniformToFill یا موارد دیگر، همه path ها زیر هم قرار میگیرن که مطلوب من نیست! <Canvas Margin="0,0,110,292" Width="150" Height="150"> <Path Fill="#985F35" Data="M84.748,262.522C38.018,262.522,0,224.504,0,177.775c0-8.285,6.717-15,15-15c8.285,0,15,6.715,15,15 c0,30.188,24.561,54.746,54.748,54.746c8.283,0,15,6.717,15,15C99.748,255.807,93.031,262.522,84.748,262.522z"/> <Path Fill="#77BC1F" Data="M397.328,217.197c0.447-3.248,0.697-6.559,0.697-9.93c0-39.793-32.258-72.049-72.049-72.049 c-8.014,0-15.711,1.328-22.912,3.742c-12.588-10.756-28.912-17.266-46.768-17.266c-28.029,0-52.303,16.018-64.215,39.387 c-4.08-0.848-8.307-1.295-12.639-1.295c-23.551,0-44.027,13.152-54.492,32.51c-21.65,1.576-38.727,19.623-38.727,41.674 c0,11.09,4.326,21.162,11.373,28.645c-9.127,7.666-14.932,19.158-14.932,32.01c0,23.084,18.713,41.797,41.797,41.797h245.326 c34.676,0,62.789-28.111,62.789-62.789C432.578,248.836,418.199,227.402,397.328,217.197z"/> <Path Fill="#218649" Opacity="0.3" Data="M256.297,121.695c-28.029,0-52.303,16.018-64.215,39.387 c-4.08-0.848-8.307-1.295-12.639-1.295c-23.551,0-44.027,13.152-54.492,32.51c-21.65,1.576-38.727,19.623-38.727,41.674 c0,11.09,4.326,21.162,11.373,28.645c-9.127,7.666-14.932,19.158-14.932,32.01c0,23.084,18.713,41.797,41.797,41.797h132.373 V121.709C256.654,121.707,256.477,121.695,256.297,121.695z"/> <Path Fill="#985F35" Data="M327.279,248.559v-66.574H66.834v66.574c0,33.445-22.047,65.313-43.764,87.863h347.971 C349.324,313.871,327.279,282.004,327.279,248.559z"/> <Path Fill="#222222" Opacity="0.2" Data="M66.834,181.984v66.574c0,33.445-22.047,65.313-43.764,87.863h173.986V181.984H66.834z "/> <Path Fill="#00953A" Data="M367.26,177.16c19.596-19.6,17.742-53.227,17.742-53.227s-33.631-1.855-53.227,17.74 c-19.598,19.598-17.744,53.229-17.744,53.229S347.66,196.758,367.26,177.16z"/> <Path Fill="#222222" Opacity="0.2" Data="M314.031,194.902c0,0,33.629,1.855,53.228-17.742 c19.596-19.6,17.742-53.227,17.742-53.227L314.031,194.902z"/> <Path Fill="#00953A" Data="M278.268,146.34c0-27.717,25.09-50.184,25.09-50.184s25.092,22.467,25.092,50.182 c0,27.715-25.092,50.184-25.092,50.184S278.268,174.055,278.268,146.34z"/> <Path Fill="#222222" Opacity="0.2" Data="M303.358,196.521c0,0-25.09-22.467-25.09-50.182c0-27.717,25.09-50.184,25.09-50.184 V196.521z"/> <Path Fill="#222222" Opacity="0.2" Data="M116.789,243.848c-4.143,0-7.5-3.357-7.5-7.5v-26.842c0-4.143,3.357-7.5,7.5-7.5s7.5,3.357,7.5,7.5 v26.842C124.289,240.49,120.932,243.848,116.789,243.848z"/> <Path Fill="#222222" Opacity="0.2" Data="M177.789,313.176c-4.143,0-7.5-3.357-7.5-7.5V277.83c0-4.143,3.357-7.5,7.5-7.5 c4.143,0,7.5,3.357,7.5,7.5v27.846C185.289,309.818,181.932,313.176,177.789,313.176z"/> <Path Fill="#222222" Opacity="0.2" Data="M269.789,236.559c-4.143,0-7.5-3.357-7.5-7.5v-19.553c0-4.143,3.357-7.5,7.5-7.5 c4.143,0,7.5,3.357,7.5,7.5v19.553C277.289,233.201,273.932,236.559,269.789,236.559z"/> <Path Fill="#222222" Opacity="0.2" Data="M233.447,281.852c-4.143,0-7.5-3.357-7.5-7.5V247.17c0-4.143,3.357-7.5,7.5-7.5 c4.143,0,7.5,3.357,7.5,7.5v27.182C240.947,278.494,237.59,281.852,233.447,281.852z"/> <Path Fill="#00953A" Data="M67.617,164.082c19.596-19.6,17.742-53.229,17.742-53.229S51.729,109,32.133,128.596 c-19.598,19.598-17.744,53.229-17.744,53.229S48.018,183.678,67.617,164.082z"/> <Path Fill="#222222" Opacity="0.2" Data="M14.389,181.824c0,0,33.629,1.854,53.229-17.742 c19.596-19.6,17.742-53.229,17.742-53.229L14.389,181.824z"/> </Canvas>
  8. با سلام، چطوری میتونم صفحه ای رو به صورتی قرار بدم که بعد از تغییر ورژن برنامه به عنوان صفحه اصلی نمایش داده بشه و توصیحاتی رو درباره برنامه بده؟ (مثل Postro یا Groove Music) با تشکر
  9. با سلام، با استفاده از این ویدیو امکانات جدید و بسیار جالب زمل برای UWP را مشاهده کننید.
  10. سلام میشه یه توضیح درباره نحوه کار با انیمیشن ها بدین . در blend با استفاده از storyboaed خیلی ساده و راحت میشه انجام داد ولی پاسخ گوی نیازم نیست . میشه یک مرجع بهم معرفی کنید . جدا از انیمیشن های ساده ایی مانند fade ، چجوری باید انیمیشن هایی که مثلا اون بلاک یا المنت از پایین بیاد بالا و از این قبیل انیمیشن ها رو پیاده سازی کرد
  11. با سلام، چطوری میتونم دکمه یک توی تایتل بار رو شخصی سازی کنم؟ (مثل توییتر)
  12. با سلام، من قصد دارم در یک Storyboard تعریف کنم که در یک بازه زمانی و به طور پیوسته، مثلا یک واحد به مارجین گریدی اضافه بشه و حالت انیمیشنی پیدا کنه، ولی با کدهای زیر این تغییرات بطور ناگهانی اتفاق میفته: <Storyboard x:Name="Storyboard1"> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="grd_content"> <DiscreteObjectKeyFrame KeyTime="0:0:5"> <DiscreteObjectKeyFrame.Value> <Thickness>250,0,-250,0</Thickness> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard>
  13. با سلام، چطوری میتونم مثل تصویر زیر، عدد یا علامتی را نشان دهم؟
  14. سلامی مجدد schemas ها در xaml چه کاربردی دارند ؟ این ها به چه چیزی رفرنس میدن ؟ مثلا x:Class="test.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:test" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" ignorable یعنی چی ؟ چی رو نادیده میگیره ؟ یا طرز کار x یا local .... با تشکر
  15. با سلام مدتیه که میخوام توی اپلیکیشن تبلیغات بذار ولی متاسفانه نه سایت ماکروسافت قابل تفهیم نوشته و چنل 9 هم ابزارهاش با ابزار های موجود تو ی گالری ویژوال متفاوته حتی به ادرس موجود در ویدیو مراجعه کردم ولی صفحه پیدا نشد بخاطر همین ممنون میشم اگه کسی آموزش استفاده از تبلیغات رو در برنامه نویسی یکپارچه بنویسه ! ( البته یکم جزئی تر ) خیلی ممنون
  16. سلام، برای اینکه بتوانید تشخیص دهید که برنامه شما روی چه دستگاهی در حال اجراست کافی است کلاسی به نام DeviceTypeHelper ایجاد کرده و کدهای زیر را در آن بنویسید: public static class DeviceTypeHelper { public static DeviceFormFactorType GetDeviceFormFactorType() { switch (Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily) { case "Windows.Mobile": return DeviceFormFactorType.Phone; case "Windows.Desktop": return Windows.UI.ViewManagement.UIViewSettings.GetForCurrentView().UserInteractionMode == Windows.UI.ViewManagement.UserInteractionMode.Mouse ? DeviceFormFactorType.Desktop : DeviceFormFactorType.Tablet; case "Windows.Universal": return DeviceFormFactorType.IoT; case "Windows.Team": return DeviceFormFactorType.SurfaceHub; default: return DeviceFormFactorType.Other; } } } public enum DeviceFormFactorType { Phone, Desktop, Tablet, IoT, SurfaceHub, Other } برای استفاده: DeviceTypeHelper.GetDeviceFormFactorType(); موفق باشید. منبع: وین نویس
  17. به نام پروردگار یگانه چند Style برای زیبا سازی برنامه ها نویسنده: نصراله جوکار طراح: ابوالفضل اسلامی سایت سازنده: وین نویس کاری از استودیو توسعه پارسه تذکر: این آموزش ها را لطفا جایی کپی نکنید، اگر کردید لااقل به اسم خودتان نکنید. این آموزش ها رایگان می باشند. چند روز پیش ابوالفضل برای برنامه جدیدی که داریم میسازیم طراحی هایی کرد که نیاز به ویرایش چند کنترل در برنامه ما شد. این استایل ها + کنترل های ویرایش شده رو برای شما قرار میدهیم تا نرم افزار های زیبایی با آن ها طراحی کنید. نکته: چنانچه چیزی در مورد Style و Template نمیدانید، لطفا آموزش زیر را بخوانید: آموزش تصویری برنامه نویسی ویندوز 10 قسمت شش در این آموزش ما از استایل های ضمنی استفاده می کنیم (چنانچه برای استایلی کلید واژه ای تعریف نکنیم، تمامی کنترل های موجود در صفحه ما که برابر با TargetTypeـه استایل ما هستند، از آن ارث بری می کنند. استایل دهی به ScrollBarـه کنترل ها: استایل زیر را در منابع صفحه(Page.Resources) خود تعریف کنید: <Style TargetType="ScrollBar"> <Setter Property="MinWidth" Value="12" /> <Setter Property="MinHeight" Value="12" /> <Setter Property="Background" Value="Transparent" /> <Setter Property="Foreground" Value="Transparent" /> <Setter Property="BorderBrush" Value="Transparent" /> <Setter Property="IsTabStop" Value="False" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ScrollBar"> <Grid x:Name="Root" Background="#FF0C0C0C"> <Grid x:Name="VerticalPanningRoot" MinHeight="24" Width="15"> <Border x:Name="VerticalPanningThumb" VerticalAlignment="Top" HorizontalAlignment="Center" BorderThickness="0" CornerRadius="3" Width="7" MinHeight="20" Margin="2,0,2,0" Background="#FF181818" /> </Grid> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> برای تغییر رنگ مشکی پس زمینه اسکرول، رنگ Background را در این قسمت تغییر دهید: برای تغییر رنگ اسکرول، رنگ Background را در این قسمت تغییر دهید: استایل دهی به Button برای گوشه دار کردن دکمه ها از استایل زیر استفاده کنید: <Style TargetType="Button"> <Setter Property="Background" Value="{ThemeResource SystemControlBackgroundBaseLowBrush}" /> <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}" /> <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}" /> <Setter Property="Padding" Value="8,4,8,4" /> <Setter Property="HorizontalAlignment" Value="Left" /> <Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> <Setter Property="FontWeight" Value="Normal" /> <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> <Setter Property="UseSystemFocusVisuals" Value="True" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Border x:Name="RootGrid" CornerRadius="6" Background="{TemplateBinding Background}"> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="Normal"> <Storyboard> <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="PointerOver"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseHighBrush}" /> </ObjectAnimationUsingKeyFrames> <PointerUpThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="Pressed"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseMediumLowBrush}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightTransparentBrush}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseHighBrush}" /> </ObjectAnimationUsingKeyFrames> <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> </Storyboard> </VisualState> <VisualState x:Name="Disabled"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseLowBrush}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseMediumLowBrush}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledTransparentBrush}" /> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <ContentPresenter x:Name="ContentPresenter" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding Content}" ContentTransitions="{TemplateBinding ContentTransitions}" ContentTemplate="{TemplateBinding ContentTemplate}" Padding="{TemplateBinding Padding}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" AutomationProperties.AccessibilityView="Raw" /> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> نمونه کد دکمه: <Button x:Name="btnSignUp" Content="Sign-Up" FontSize="14" Height="36" Width="100" FontWeight="Normal" Foreground="White" Background="#26000000" BorderBrush="Transparent" /> استایل دهی به TextBox: <Style TargetType="TextBox"> <Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}" /> <Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}" /> <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> <Setter Property="Background" Value="{ThemeResource SystemControlBackgroundAltHighBrush}" /> <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundChromeDisabledLowBrush}" /> <Setter Property="SelectionHighlightColor" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> <Setter Property="BorderThickness" Value="{ThemeResource TextControlBorderThemeThickness}" /> <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Auto" /> <Setter Property="ScrollViewer.VerticalScrollMode" Value="Auto" /> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Hidden" /> <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden" /> <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False" /> <Setter Property="Padding" Value="{ThemeResource TextControlThemePadding}" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="TextBox"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <Border x:Name="BackgroundElement" Grid.Row="1" CornerRadius="3" Background="#FFE9E9E9" Margin="{TemplateBinding BorderThickness}" Opacity="{ThemeResource TextControlBackgroundRestOpacity}" Grid.ColumnSpan="2" Grid.RowSpan="1" /> <Border x:Name="BorderElement" Grid.Row="1" BorderBrush="#FFE9E9E9" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="2" Grid.RowSpan="1" /> <ContentPresenter x:Name="HeaderContentPresenter" x:DeferLoadStrategy="Lazy" Visibility="Collapsed" Grid.Row="0" Margin="0,0,0,8" Grid.ColumnSpan="2" Content="{TemplateBinding Header}" ContentTemplate="{TemplateBinding HeaderTemplate}" FontWeight="Normal" Foreground="#33FFFFFF" /> <ScrollViewer x:Name="ContentElement" Grid.Row="1" HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" IsTabStop="False" AutomationProperties.AccessibilityView="Raw" ZoomMode="Disabled" /> <ContentControl x:Name="PlaceholderTextContentPresenter" Grid.Row="1" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" IsTabStop="False" Grid.ColumnSpan="2" Content="{TemplateBinding PlaceholderText}" IsHitTestVisible="False"> <ContentControl.Foreground> <SolidColorBrush Color="#FFB4B4B4" /> </ContentControl.Foreground> </ContentControl> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> نمونه کد TextBox: <Border BorderThickness="0" CornerRadius="3" Background="#FFE9E9E9" Height="40"> <TextBox x:Name="txtEmail" Text="" Height="30" TextAlignment="Justify" PlaceholderText="Email" FontWeight="Medium" FontSize="14" IsSpellCheckEnabled="False" VerticalAlignment="Center" Foreground="#FFAAAAAA" Background="#FFE9E9E9" BorderBrush="#FFE9E9E9" /> </Border> نکته: کد بالا Validation رو انجام نمیدهد، برای ساخت Validation (همون علامت تیک که اگه مقادیر درستی وارد شد سبز میشود) باید رویداد TextChanged را برای TextBox ایجاد کنیم: <Border BorderThickness="0" CornerRadius="3" Background="#FFE9E9E9" Height="40"> <Grid> <TextBox x:Name="txtEmail" Text="" Height="30" TextAlignment="Justify" PlaceholderText="Email" Margin="10,2,10,0" FontWeight="Medium" FontSize="14" IsSpellCheckEnabled="False" VerticalAlignment="Center" Foreground="#FFAAAAAA" Background="#FFE9E9E9" BorderBrush="#FFE9E9E9" TextChanged="txtEmail_TextChanged" /> <TextBlock x:Name="tickEmail" Text="" FontFamily="Segoe MDL2 Assets" Foreground="#FFD7D7D7" FontWeight="Medium" Margin="0,0,5,0" FontSize="20" VerticalAlignment="Center" HorizontalAlignment="Right" /> </Grid> </Border> فضای نامی زیر را به قسمت فضاهای نامی اضافه کنید: using Windows.UI; حال در کدنویسی، تابع رویداد TextChanged بررسی میکنیم که چنانچه مقدار Textـه TextBox خالی بود یا تعداد کاراکترهای آن کمتر از 5 حرف بود یا که حرف @ را نداشت، رنگ پیش زمینه tickEmail که همان علامت تیک است را به حالت عادی در آورد، در غیر اینصورت رنگ آنرا سبز کنید(یعنی متنی که کاربر وارد کرده است Valid است) private void txtEmail_TextChanged(object sender, TextChangedEventArgs e) { if (sender == null) return; if (string.IsNullOrEmpty(txtEmail.Text) || txtEmail.Text.Length < 5 || !txtEmail.Text.Contains("@") || txtEmail.Text.Contains(" ")) tickEmail.Foreground = new SolidColorBrush(new Color { A = 255, R = 215, G = 215, B = 215 }); else tickEmail.Foreground = new SolidColorBrush(new Color { A = 255, R = 70, G = 233, B = 143 }); } PDF این آموزش پیوست شد. منبع: وین نویس Windows 10 Introduction S01 Styles.pdf
  18. با سلام، چطوری از SematicZoom استفاده کنم؟
  19. با سلام، برای اینکه لبه شکل های خود (Rectangle، Ellipse و Line) را به حالت خط چین کنید دو ویژگی زیر را به شکل خود اضافه کنید: StrokeDashCap: این ویژگی مشخص میکند که لبه خط چین ها چطوری باشد. StrokeDashArray: این ویژگی هم فکر کنم که فاصله بین خط چین ها رو مشخص میکنه. اگر هم میخواهید، خط کد زیر نمونه ای از کاربردشه: <Rectangle StrokeDashCap="Round" Stroke="White" StrokeDashArray="3"/> امیدوارم که به کمکی کرده باشم.
  20. با سلام، چطوری متونم مثل فلیپ ویویی که توی اپلیکیشن استور تبلیغات میکنه، چندتا دایره زیرش داشته باشم؟
  21. با سلام، چطوری میشه محدودیت ریسایز کردن اپلیکیشن های دسکتاپی در هنگام ریسایز کردن رو کم یا حذف کرد (مثل calculator یا store که سایزشون کوچیکتر هم میشه)؟
  22. با سلام، چطوری میتونم بگ گراند یه Grid یا Border یا هرکنترل (فکر کنم image آموزشش بود) دیگه ای رو بلور کنم مثل iOS؟
  23. با سلام، برای اجرای عکس های متحرک gif میتوانید به این روش عمل کنید. * ابتدا باید رفرنس XamlAnimatedGif رو ادد کنیم، برای این کار از منوی Project، گزینه Manage NuGet Packages... رو انتخاب کنید، بعدا در تب Browse بنویسید XamlAnimatedGif بعدش Install رو بزنین و صبر کنین تا نصب بشه. * دومین مرحله اضافه کردن فضای نام و استفاده از انیمیشن گیف در پروژه تان است. برای این کار به صفحه ای که مایلید انیمیشن گیف داشته باشید رفته و در قسمت بالا فضای نام زیر رو وارد کنید: xmlns:gif="using:XamlAnimatedGif" بعدش هم به Imageی برید که میخواهید سورسش رو گیف قرار بدید، و بنویسید: gif:AnimationBehavior.SourceUri="Assets/111.gif" که به جای 111.gif، آدرس عکس خودتونو بدین. امیدورام که به کارتون بیاد، با تشکر
  24. با سلام، برنامه ای رو مینویسم که باید مثل اپ ایمیل ویندوز 10 باشه. به این صورت که وقتی بزرگ میشه، دو صفحه بشه و متن رو توی یه صفحه و لیستی که حاوی اون متنا هستن رو توی صفحه دیگه نمایش بده، من اینو با کمی adaptive ui و شرط نویسی توی رویداد Sizechanged گرید اصلی انجام دادم (گرید اصلی رو به دوتا column بخش کردم و گفتم که وقتی مثلا از 600 بشتر شد، اون لیسته توی column یک و اون متنه توی column دو نمایش داده بشه که توی حالت دیفالتم (کمتر از 600) ColumnSpan لیست، دو باشه که توی یک صفحه باشه). این روش کار میکنه و روان هم هست، ولی میخواستم بدونم که راه استاندارد تری وجود داره؟ باتشکر
  25. سلام من تازه اشنا شدم با UWP , و با زمل هم کار نکردم . این schema ها چی هستن در کد زمل ؟ x:Class="terial.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:terial" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" اینا هر کدوم چه کاری میکنن ؟ با تشکر