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

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



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

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

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

نوع محتوا


تالار ها

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

گروه


آدرس تارنما


یاهو


اسکایپ


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


شماره تماس


تلگرام


مکان


علایق


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

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

  1. سلام؛ احتمالا برای شما هم این سوال پیش آمده باشد که چه زمانی باید از بردهای رسپبری پای و چه زمانی از بردهای (یا ماژول‌های) آردوئینو استفاده کرد. با این که این یک قانون نیست اما در کلیت می‌تواند راهگشا باشد. هر گاه نیاز بر این باشد که شما اطلاعاتی را از محیط دریافت کنید یا کاری بر روی سیستم انجام دهید، بهتر است از بردهای آردوئینو و ماژول‌های آن استفاده کنید. و هر گاه نیاز به پردازش این اطلاعات دارید یا می‌خواهید دستورات پیچیده‌ای برای اعمال به بردهای آردوئینو بدهید، باید از رسپبری پای یا سایر بردهای دارای سیستم عامل استفاده کنید. البته واضح هست که برد رسپبری پای خود می‌تواند به وسیله سنسور، برخی از اطلاعات را دریافت کند، اما ماژول‌های موجود برای بردهای آردوئینو بسیار گسترده تر و ارزانتر هستند. همچنین باید به این نکته هم توجه کرد که گوشی موبایل هم می‌تواند تبدیل به واحد پردازشی سیستم ما شود. پس با رسپبری پای تمام اطلاعات را از آردوئینو دریافت و پردازش کنید.
  2. آموزش تبدیل گفتار به نوشتار در ویندوز یکپارچه. کتاب الکترونیک آموزش پیوست شد. پروژه نمونه را می توانید از گیتهاب دانلود نمایید: GitHub - ParseDev/WitAiUWP: Wit Ai Sample for Windows Universal Platfo... نکته چنانچه با این روش مشکل در دریافت دارید، پست زیر رو ببینید: منبع: وین نویس WitAi Speech Recognition.pdf
  3. سلام وقت بخیر، از اونجا که برای دوست عزیزمون بهروز برای پخش موزیک یا ویدیو در پس زمینه مشکل ایجاد شده، فکر کردم این آموزش رو بذارم برای دوستانی که مشکلی مشابه دارند. نکته: من ویژوال استودیو روی کامپیوترم ندارم پس شاید بعضی از کدهام اشتباه تایپی داشته باشند، پس خودتون با Intellisense ویژوال استودیو اون رو درست کنید. خب پروژه جدیدی از نوع یکپارچه با ورژن SDK نسخه 10.0.14393 به نام WN_BackgroundPlayback ایجاد نمایید. درون این پروژه یک کلاس اضافه کنید و کدهای زیر رو درون اون بنویسید: using Windows.Media.Playback; // in code az sample e MS copy shode namespace WN_BackgroundPlayback { class PlaybackService { // sakhte intanse az class static PlaybackService instance; public static PlaybackService Instance { get { if (instance == null) instance = new PlaybackService(); return instance; } } // har appi mitone ye MediaPlayer dashte bashe ke dar tamame safhat mitone azash estefade kone public MediaPlayer Player { get; private set; } public PlaybackService() { // yadeton bashe hamishe AutoPlay ro false bezarin ta moshkeli baraton pish nayad Player = new MediaPlayer {AutoPlay = false}; } } } سپس این کلاس رو ذخیره کنید و آنرا ببندید. حال فایل Package.appxmanifest را با CodeViewer باز کنید (اگه اشتباه نکنم روش راست کلیک که کنید دومین گزینه باید این فایل رو بصورت xml براتون باز کنه) خب اینجا درون تگِ Capabalities کد زیر را بنویسید: <uap3:Capability Name="backgroundMediaPlayback" /> که کد کلی باید بدین صورت باشد: <Capabilities> <Capability Name="internetClient" /> <uap3:Capability Name="backgroundMediaPlayback" /> </Capabilities> حال صفحه را ذخیره و آنرا ببندید. درون صفحه MainPage یک کنترل MediaPlayerElement قرار دهید (این کنترل از SDK 14393 به بعد قابل استفاده است!!) و یک دکمه که خاصیت Click را برای آن تعریف کرده باشید اضافه کنید: <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <Button x:Name="btnPlay" Content="Play" Click="btnPlay_Clicked" /> <MediaPlayerElement x:Name="mediaPlayer" Grid.Row="1" AreTransportControlsEnabled="True" AutoPlay="False" /> </Grid> اکنون صفحه کدنویسی سی شارپ MainPage رو باز کنید و فضای نامی زیر رو به قسمت فضاهای نامی اضافه کنید: using Windows.Media.Playback; بالای کُنستراکتور (public MainPage...) این کد رو بنویسید: public MediaPlayer Player => PlaybackService.Instance.Player; حالا درون کُنستراکتور رویداد loadedـه صفحه را ایجاد نمایید: public MainPage() { InitializeComponent(); Loaded += MainPage_Loaded; } تابع آن: private void MainPage_Loaded(object sender, RoutedEventArgs e) { mediaPlayer.SetMediaPlayer(Player); } اکنون درون تابع رویداد کلیک دکمه کدهای زیر را بنویسید: var item = new MediaPlaybackItem(MediaSource.CreateFromUri(new Uri("http://dl.songdl.xyz/sOng/Album/Saman.Jalili-Ch.Haale.Khoobie/Saman.Jalili_06-Raahat.Maro.mp3"))); Player.Source = item; دقیقا یادم نیست برای اینکه از اینا استفاده کنید چه فضاهای نامی ای نیاز هست که اضافه کنید. اگر دیدید که رنگ زیر کلمات قرمز شد موس را چند ثانیه روی آن نگه دارید ویژوال استودیو به شما یک لامپ نشان میدهد که چنانچه روی آن کلیک کنید، یک لیست نشان خواهد داد که کزینه اول را در این لیست انتخاب کنید تا فضای نامی به صفحه اضافه شود. خب تمام شد ! پروژه را اجرا کرده و آنرا امتحان نمایید. نکات اضافی: برای نمایش آهنگ در SMTC نیاز هست که مقدار SMTCـه MediaPlayer را از آن گرفته و آنرا بروز رسانی نمایید.(از اینجا به بعد کپی شده از سورناست!) برای اینکار کافی است که شما در بالای کنستراکتور کد زیر را بنویسید: public SystemMediaTransportControls smtc = null; سپس درون Loaded کد زیر را بعد از کدی که در بالا نوشتید، درون try..catch بنویسید: try { smtc = Player.SystemMediaTransportControls; } catch {} با این کار SMTC پلیر را میگیریم. حال تابع زیر را جهت بروز رسانی کردن SMTC بنویسید public void UpdateSMTC(string singer, string title, string cover) { if (smtc == null) return; smtc.PlaybackStatus = MediaPlaybackStatus.Playing; smtc.DisplayUpdater.Type = MediaPlaybackType.Music; smtc.DisplayUpdater.MusicProperties.AlbumTitle = smtc.DisplayUpdater.MusicProperties.Title = title; smtc.DisplayUpdater.MusicProperties.AlbumArtist = smtc.DisplayUpdater.MusicProperties.Artist = singer; if (!string.IsNullOrEmpty(cover)) smtc.DisplayUpdater.Thumbnail = RandomAccessStreamReference.CreateFromUri(new System.Uri(cover)); smtc.DisplayUpdater.Update(); } حال درون رویداد کلیک بعد از کد پلی کردن، برای بروز رسانی آهنگ کافیست اینگونه عمل نمایید: UpdateSMTC("Saman Jalili", "Rahat Maro", "http://dl.songdl.xyz/sOng/Album/Saman.Jalili-Ch.Haale.Khoobie/Saman.Jalili-Che.Haale.Khoobie.jpg"); به همین سادگی! موفق باشید. منبع هم که همیشه وین نویس هست!
  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. آموزش استفاده از کنترل های رایج XAML استفاده ترکیبی از کنترل ها باعث می شود که شما بهتر با نحوه کارکرد کنترل ها آشنا شوید. پروژه جدید یکپارچه ایجادکنید و نام آنرا WN XAML Common Controls قرار دهید. در این پروژه قرار است با نحوه استفاده از کنترل های زیر آشنا شویم: ListView CheckBox RadioButton StackPanel ComboBox TextBox Image GridView Rectangle DatePicker TimePicker Pivot (تصویر بالا شکل برنامه است) صفحه MainPage.xaml را باز کنید و کدهای زیر را به جای <Grid.. </Grid> قرار دهید: <ListView x:Name="listView1" Background="White"> <CheckBox x:Name="checkBox1" Margin="5" Content="Check Box 1" /> <CheckBox x:Name="checkBox2" Margin="5" Content="Check Box 2" /> <StackPanel Orientation="Horizontal"> <RadioButton x:Name="radioButton1" Margin="5" Content="Radio Button 1" /> <RadioButton x:Name="radioButton2" Margin="5" Content="Radio Button 2" /> </StackPanel> <ComboBox x:Name="comboBox1" Margin="5"> <ComboBoxItem Content="ComboBox Item 1" /> <ComboBoxItem Content="ComboBox Item 2" /> <ComboBoxItem Content="ComboBox Item 3" /> <ComboBoxItem Content="ComboBox Item 4" /> <ComboBoxItem Content="ComboBox Item 5" /> </ComboBox> <TextBox x:Name="textBox1" Margin="5" Text="http://www.win-nevis.com" /> <Image x:Name="image1" Margin="5" Source="WinNevisLogo.png" Stretch="None" /> <GridView x:Name="gridView1" Margin="5"> <Rectangle x:Name="rectangle1" Fill="Red" Height="100" Width="100" /> <Rectangle x:Name="rectangle2" Fill="#FF00C5FF" Height="100" Width="100" /> <Rectangle x:Name="rectangle3" Fill="#FFFFD100" Height="100" Width="100" /> </GridView> <DatePicker x:Name="datePicker1" Margin="5" /> <TimePicker x:Name="timePicker1" Margin="5" /> </ListView> بپردازیم به کدها... <ListView x:Name="listView1" Background="White">… ListView در ابتدا کنترل ListView قرار دادیم تا همه ی کنترل ها به صورت لیستی عمودی در زیر هم قرار بگیرند. کنترل ListView بسیار پر کاربرد است، این کنترل دارای Property های خاصی است که چند نمونه را بیان می کنیم... . Items کالکشنی (لیست) است که کنترل ها را در خود جای می دهد، این پراپرتی از نوع ItemCollection است و می تواند تقریبا هر کنترل یا شئ ای را در خود جای دهد. این پراپرتی دارای توابعی است که از آنها می توان به Add, Remove, RemoveAt, Insert, Clear اشاره نمود. تابع Add برای اضافه کردن کنترل، Remove برای حذف کنترل چنانچه آن کنترل را در اختیار داشته باشیم، RemoveAt برای حذف کنترل بر اساس شناسه، Insert اضافه کردن آیتم در یک شاخص خاص(مثلا در ردیف 50)، Clear برای پاک کردن تمامی کنترل ها از لیست به کار می روند. SelectedIndex یا شاخص انتخاب شده، داده ی عددی از نوع integer است. این داده عددی را برمیگرداند که از آیتم انتخاب شده لیست ویو است. توجه داشته باشید که اندیس کنترل ها را بازگردانی می کند. SelectedItem آیتم انتخاب شده را بازگردانی می کند که با نوع object است یعنی پس از آن دریافت باید نوع آنرا خودمان تعیین کنیم. یعنی اگر در لیست بنده همه آیتم ها از نوع TextBox هستند، این کار را باید انجام دهیم: TextBlock selectedItem = listView1.SelectedItem as TextBlock; چنانچه مانند نمونه کدها، از چندین نوع شئ در لیست ویو استفاده می کنیم، نوع آیتم انتخاب شده را دریافت کنید و در شرطی آنرا بررسی کنید:[/size] if(listView1.SelectedItem.GetType() == typeof(TextBlock)) { // code } تابع GetType نوع هر داده ای را باز گردانی می کند که از نوع Type می باشد. کلمه کلیدی typeof نیز مشخص می کند که ما می خواهیم تایپ یا نوع داده را از نوعی که می خواهیم باشد. پس چنانچه آیتم انتخاب شده برابر با نوعی است که ما می خواهیم شرط درست است. SelectedItems در لیست ویو امکان انتخاب چند مورد وجود دارد، این پراپرتی توانایی بازگردانی لیست آیتم های انتخاب شده را داراست. SelectedMode تعیین می کند که آیا لیست ویو بتواند یک آیتم، چند آیتم را انتخاب کند یا اینکه حتی نتواند آیتمی را انتخاب کند. <CheckBox x:Name="checkBox1" Margin="5" Content="Check Box 1" /> <CheckBox x:Name="checkBox2" Margin="5" Content="Check Box 2" /> CheckBox جعبه انتخابی، اجازه می دهد کاربر گزینه ای را تیک بزند، اگر از چندین CheckBox در یک کنترل والد استفاده کنیم، هر چک باکس می تواند تیک (علامت) بخورد یا نخورد و وابسته با باقی چک باکس ها ندارد. پراپرتی IsSelected می تواند سه مقدار بگیرد، True و False و x:Null که تعیین می کند چک باکس ما کدام وضعیت را دارد. <StackPanel Orientation="Horizontal"> StackPanel این کنترل نیز مانند ListView است با اندکی تفاوت. پراپرتی Orientation تعیین می کند که کنترل هایی که درون این شئ قرار می گیرند به چه صورت اضافه شوند(عمودی یا افقی) به صورت پیشفرض اگر این پراپرتی را تعیین نکنیم کنترل هایی که اضافه می شوند به صورت عمودی زیر هم قرار می گیرند. در اینجا حالت افقی را قرار داده ایم تا دو کنترل RadioButton در کنار هم قرار بگیرند. <RadioButton x:Name="radioButton1" Margin="5" Content="Radio Button 1" /> <RadioButton x:Name="radioButton2" Margin="5" Content="Radio Button 2" /> RadioButton دکمه رادیویی نیز مانند CheckBox است اما با کمی تفاوت، چناچه یکی از آنها انتخاب شود، آیتم های دیگر خودکار تیک آنها برداشته می شود، برای مثال نمی توانیم هر دو مورد را علامت بزنیم، چنانچه اقدام به این کار کنیم، شئ دیگر خودکار علامتش برداشته میشود. البته این موضوع به والد آنها نیز وابسطه است. در اینجا شئ والد StackPanel است اگر در یک StackPanel دیگر دو دکمه رادیویی دیگر قرار دهیم، علامت زدن آنها به علامت زدن این دو ربطی نخواهد داشت. <ComboBox x:Name="comboBox1" Margin="5"> <ComboBoxItem Content="ComboBox Item 1" /> <ComboBoxItem Content="ComboBox Item 2" /> <ComboBoxItem Content="ComboBox Item 3" /> <ComboBoxItem Content="ComboBox Item 4" /> <ComboBoxItem Content="ComboBox Item 5" /> </ComboBox> ComboBox جعبه ترکیبی برای به نمایش در آوردن آیتم های فراوان است که یکی از آنها قابل انتخاب است. این کنترل می تواند هر نوع داده ای را در خود جای دهد. مانند لیست ویو SelectedIndex و SelectedItem دارد. <TextBox x:Name="textBox1" Margin="5" Text="http://www.win-nevis.com" /> TextBox جعبه متنی، این کنترل به کاربر این امکان را می دهد که بتواند چیزی را بنویسید.پراپرتی Text متن نوشته کاربر است. پراپرتی InputeScope به صورت پیشفرض اعداد، حروف، سمبل ها و... در تکست باکس قابل نمایش است، اما چنانچه می خواهید تکست باکس را اختصاص دهید مثلا برای فقط شماره ها، یا ایمیل، یا چت، بهتر از این پراپرتی استفاده کنید که دارای 42 گزینه برای انتخاب است! پراپرتی PlaceholderText نیز متنی را به نمایش در می آورد زمانی که هیچ چیزی در TextBox نوشته نشده باشد. مثلا همان type something در اکثر برنامه های چت. <Image x:Name="image1" Margin="5" Source="WinNevisLogo.png" Stretch="None" /> Image این کنترل تصاویر را به نمایش می گذارد. با استفاده از پراپرتی Source می توانیم محل عکس را تعیین کنیم، در اینجا عکسی با نام WinNevisLogo.png در قسمت روت پروژه وجود دارد که آنرا اینگونه تعریف کردیم. پراپرتی Stretch یا کِش آمدن تصویر، این امکان را می دهد که تصاویر را کِش آوریم یا اینکه تصویر اصلی با سایت اصلی را به نمایش در آوریم. <GridView x:Name="gridView1" Margin="5"> GridView این کنترل نیز مانند لیست ویو است با این تفاوت که کنترل ها در کنار هم به صورت افقی قرار می گیرند. چنانچه تعداد کنترل ها بیش از اندازه عرض صفحه باشد، کنترل ها به صورت افقی و عمودی در می آیند. <Rectangle x:Name="rectangle1" Fill="Red" Height="100" Width="100" /> <Rectangle x:Name="rectangle2" Fill="#FF00C5FF" Height="100" Width="100" /> <Rectangle x:Name="rectangle3" Fill="#FFFFD100" Height="100" Width="100" /> Rectangle کنترل رنگی با استفاده از پراپرتی Fill می توان رنگ یا تصویری را برای آن انتخاب نمود. <DatePicker x:Name="datePicker1" Margin="5"/> DatePicker انتخاب گر تاریخ، دارای پراپرتی Date از نوع DateTimeOffset است که کاربر می تواند تاریخی را انتخاب کند. <TimePicker x:Name="timePicker1" Margin="5" /> TimePicker انتخاب گر زمان، دارای پراپرتی Time از نوع TimeSpan است که کاربر می تواند زمانی را انتخاب کند. خب تا اینجا با 11 کنترل از 13 تایی که قرار بود آموزش بدهیم، آشنا شدید. برای دو کنترل دیگر دو پروژه مجزا ایجاد می کنیم. Pivot پروژه جدیدی یکپارچه ای به نام WN Pivot Sample ایجاد و صفحه MainPage.xaml را در آن باز کنید. در پنجره Toolbox دو بار روی کنترل Pivot کلیک کنید یا اینکه آنرا بکشید و در صفحه طراحی رها کنید تا این کنترل به صفحه اضافه شود: کنترل Pivot دارای خاصیتی به نام Title است که عنوان را مشخص می کند، معمولا نام برنامه را در این قسمت قرار می دهند. نیازی نیست حتما Pivot دارای عنوان باشد. عناصری که Pivot به عنوان تب قرار میگیرند PivotItem نام دارند. Pivot فقط می تواند PivotItem را به نمایش در آورد ما نمی توانیم جای PivotItem از Grid یا کنترل های دیگر استفاده کنیم. هر PivotItem دارای خاصیتی به نام Header است که نام یا آیکون تب را تعیین می کند. اگر بخواهیم جای نوشته از آیکون یا عکسی استفاده کنیم کافی است Header را پاک کرده و درون تَگِ PivotItem تگِ زیر را اضافه کنیم: <PivotItem.Header> <Image Source="WinNevisLogo.png" /> </PivotItem.Header> با این کار می توانیم عکسی را جای نوشته قرار دهیم: هر PivotItem می تواند یک Content ـی داشته باشد که به صورت پیشفرض Grid است چرا که میتواند تمامی اشیاء را درون خود جای دهد. روی <Grid/> PivotItem اول کلیک کنید و از ToolBox کنترل TextBlockـی را به درون قسمت طراحی اضافه کرده و نام آنرا برابر با Win-Nevis بگذارید. حال روی Gridـه PivotItemـه دوم کلیک کرده و کنترل دکمه ای درون آن بیاندازید و Content آنرا برابر با Click قرار دهید. چیزه خاص دیگری نیست که فعلا نیاز باشد راجع به این کنترل بدانید، پس به همین اکتفا می کنیم. نکته: قرار بود SplitView و ساخت منوی همبرگری رو هم توی این درس آموزش بدیم اما چون لازمه ی این کار چیزهای دیگری است ساخت منوی همبرگری به درس های بعد موکول می شود. کتاب الکترونیک + پروژه این درس پیوست شد. این درس به اتمام رسید، امیدوارم همچنان همراه ما باشید... . منبع: وین نویس Windows 10 Introduction S01E04.pdf WN Xaml Common Controls.zip
  6. API موزیک استودیو پارسه نسخه 1.0.3 به روز رسانی شده در تاریخ 16 خرداد 1395 برابر 06/05/2016. شما می توانید این پروژه را در گیت هاب دنبال نمایید: https://github.com/ramtinak/ParseDevMusic این سرویس در حال حاضر برای تست ایجاد شده است. عکس هایی از پروژه نمونه: -------------- سرویس موزیک استدیو پارسه، کار را برای گرفتن اطلاعات از سایت های موزیک راحت می کند. با استفاده از این سرویس می توانید به راحتی برای سایت های موزیکی که میخواهید، نرم افزار بنویسید(فقط نام آن سایت را به ما معرفی کنید!) در حال حاضر این سرویس از 14 سایت پشتیبانی می کند. سایتهای فارس کیدز، فاز موزیک، ایران موزیک، نکس وان موزیک، موزیک ایرونی،پاپ موزیک، آهنگستان، پلی موزیک، موزیک باز، موزیک باران، تک ترانه و تهران موزیک می توانند تمامی پست ها، لینک های دانلود و همچنین جستجو کردن را در اختیار شما قرار دهند. با اسنفاده از دو سایت ZeneFarm و Mp3PM نیز می توانید به راحتی در سایت های جستجوی موزیک، به دنبال یک موزیک بگردید(لینک ها دانلود به صورت مستقیم هستند!) نکته: جستجو در سایت پلی موزیک در حال حاضر ممکن نیست! نکته جالب در مورد این سرویس این است که به صورت خودکار به روز رسانی می شود و نیازی به، به روز رسانی نرم افزار شما ندارد. برای مثال الان 14 سایت است ممکن فردا 20 سایت باشد! شما می توانید تمامی سایت ها را به راحتی در برنامه خود به کار ببرید. -------------- برای گرفتن لیست سایت ها از آدرس زیر استفاده کنید: http://api.win-nevis.com/sites.aspx مقدار بازگشتی به صورت JSON خواهد بود( در زیر می توانید نمونه و نوع متغیر ها را ببینید) [ { "Address": string, "IsRightToLeft": boolean, "IsSearcher": boolean, "Name": string }, { "Address": string, "IsRightToLeft": boolean, "IsSearcher": boolean, "Name": string } ] برای دریافت یک سایت از آدرس زیر استفاده کنید: http://api.win-nevis.com/index.aspx?siteAddress=ESMESITE کافیه نام سایت رو به جای کلمه ESMESITE قرار بدید تا لیست پست های اون سایت رو به شما بده: مثلا من میخوام سایت فارس کیدز رو بگیرم: http://api.win-nevis.com/index.aspx?siteAddress=farskids مقادیر بازگشتی به صورت JSON خواهد بود: [ { "ComingSoon": false, "Date": "23rd Mar 2016", "ImageUrl": "http:\/\/www.27farskids.com\/wp-content\/uploads\/2016\/03\/ddd-1-e1458748085612.jpg", "Name": "Matin M.T – Daghigheha", "Singer": null, "Song": null, "Type": "music", "Url": "http:\/\/www.27farskids.com\/music\/matin-m-t-daghigheha\/", "View": "42,178 Views" }, { "ComingSoon": false, "Date": "23rd Mar 2016", "ImageUrl": "http:\/\/www.27farskids.com\/wp-content\/uploads\/2016\/03\/Mahyar-Tn-Ft-Andish-Ro-Ravane-Hame-Chi.jpg", "Name": "Mahyar TN FT. Andish – Ro Ravane Hame Chi", "Singer": null, "Song": null, "Type": "music", "Url": "http:\/\/www.27farskids.com\/music\/mahyar-tn-ft-andish-ro-ravane-hame-chi\/", "View": "41,083 Views" } ] همونطور که مشاهده می کنید تمامی مقادیر بازگشتی پُر نخواهند بود و بعضی ها null هستند، این به خاطر این است که این مقادیر در یک سایت که آنها را دارد می تواند پُر باشد و در سایت دیگری که این اطلاعات را نمی دهد به صورت null خواهد بود. برای باز کردن صفحه دوم، سوم، چهارم و... از آدرس زیر استفاده کنید: http://api.win-nevis.com/index.aspx?siteAddress=ESMESITE&p=SHOMARESAFHE مثلا من می خوام صفحه چهارم از سایت فاز موزیک رو باز کنم: http://api.win-nevis.com/index.aspx?siteAddress=fazmusic&p=4 مقادیر بازگشتی به همان صورت خواهد بود که از http://api.win-nevis.com/index.aspx?siteAddress=fazmusic استفادهمی کنید. برای جستجو در یک سایت: http://api.win-nevis.com/index.aspx?siteAddress=ESMESITE&s=KALAMEJUSTJU مثلا من می خوام Saman jalili رو در سایت ایران موزیک جستجو کنم: http://api.win-nevis.com/index.aspx?siteAddress=iranmusic&s=saman%20jalili مقادیر بازگشتی به صورت JSON خواهد بود و مانند دو مقدار بازگشتی قبلی است. برای باز کردن صفحه دوم، سوم و... از یک جستجو کافی است از دستور زیر استفاده کنید: http://api.win-nevis.com/index.aspx?siteAddress=ESMESITE&s=KALAMEJUSTJU&p=SHOMARESAFHE اگر در مثال بالا بخواهیم صفحه دوم از جستجو را باز کنیم: http://api.win-nevis.com/index.aspx?siteAddress=iranmusic&s=saman%20jalili&p=2 مقادیر بازگشتی نیز مانند سه مورد قبل خواهد بود. برای گرفتن لینک دانلود، کافی است لینکی پستی که می خواهید را به این آدرس بفرستید: http://api.win-nevis.com/index.aspx?siteAddress=ESMESITE&getDownloadLink=POSTLINK برای مثال من آدرس یک پست از سایت فارس کیدز رو دارم و می خوام لینک های دانلود اون رو دریافت کنم: http://api.win-nevis.com/index.aspx?siteAddress=farskids&getDownloadLink=http://www.27farskids.com/music/ahmad-saeedi-yadet-biad/ مقادیر بازگشتی به صورت JSON خواهد بود: [ { "CommingSoon": false, "Dislike": null, "Like": null, "Name": "Ahmad Saeedi - Yadet Biad [320].mp3", "PostId": null, "Url": "http:\/\/dl3.27farskids.com\/R1\/Music\/95\/01\/03\/Ahmad%20Saeedi%20-%20Yadet%20Biad%20[320].mp3", "Views": null }, { "CommingSoon": false, "Dislike": null, "Like": null, "Name": "Ahmad Saeedi - Yadet Biad [128].mp3", "PostId": null, "Url": "http:\/\/dl3.27farskids.com\/R1\/Music\/95\/01\/03\/Ahmad%20Saeedi%20-%20Yadet%20Biad%20[128].mp3", "Views": null } ] تا اینجای کار برای سایت های موزیک بود، اما برای سایت هایی که مخصوص جستجوی موزیک هستند آدرس کمی متفاوت تر خواهد بود: برای جستجوی یک کلمه از آدرس زیر استفاده کنید: http://api.win-nevis.com/searcher.aspx?siteAddress=ESMESITE&s=KALAMEJUSTJU برای مثال میخواهیم saman jalili رو در سایت mp3pm جستجو کنیم: http://api.win-nevis.com/searcher.aspx?siteAddress=mp3pm&s=saman%20jalili برای باز کردن صفحه دوم، سوم و... از آدرس زیر استفاده کنید: http://api.win-nevis.com/searcher.aspx?siteAddress=ESMESITE&s=KALAMEJUSTJU&p=SHOMARESAFHE مثال: http://api.win-nevis.com/searcher.aspx?siteAddress=mp3pm&s=saman%20jalili&p=2 مقادیر بازگشتی به صورت JSON خواهد بود(مثال برای MP3PM) [ { "ComingSoon": false, "Date": null, "ImageUrl": null, "Name": null, "Singer": null, "Song": null, "Type": null, "Url": "http:\/\/cs1.mp3.pm\/download\/1446657\/S2VaYW9MTDBlazJYQ294UmdISjM1enVFM1VGdjVpbnVCSE5CSlArN3k1djlVMU02dkNVNWRxMmNpamRXYzAyc1Y3T3hVc2ZNYlZLY29WdlFPTXpKYllKWi81NGpRdW9vR2hwOWkwWlh1S0dnYWx2YTdhNUUxMlBoL3ZMbmtlQ1g\/Bahooneh_-_Saman_Jalili_(mp3.pm).mp3", "View": null, "Author": "Bahooneh", "Duration": "02:57", "Size": null, "Sound": "http:\/\/cs1.mp3.pm\/listen\/1446657\/S2VaYW9MTDBlazJYQ294UmdISjM1enVFM1VGdjVpbnVCSE5CSlArN3k1djlVMU02dkNVNWRxMmNpamRXYzAyc1Y3T3hVc2ZNYlZLY29WdlFPTXpKYllKWi81NGpRdW9vR2hwOWkwWlh1S0dnYWx2YTdhNUUxMlBoL3ZMbmtlQ1g\/Bahooneh_-_Saman_Jalili_(mp3.pm).mp3", "Title": "Saman Jalili", "TrackId": null }, { "ComingSoon": false, "Date": null, "ImageUrl": null, "Name": null, "Singer": null, "Song": null, "Type": null, "Url": "http:\/\/cs1.mp3.pm\/download\/6562930\/S2VaYW9MTDBlazJYQ294UmdISjM1enVFM1VGdjVpbnVCSE5CSlArN3k1dExrblJBd0diemtuL2l3dGFFV1BnaXNhM3hHZVdEM2daY3VrNnJzaXVBYVFrakNtOWpCeUM3Nm5KbnA1RC9QSjVCQWhSL1REbUxRYXQwV3JUaXp2dGc\/Saman_Jalili_-_Halam_Bade_2013_(mp3.pm).mp3", "View": null, "Author": "Saman Jalili", "Duration": "02:58", "Size": null, "Sound": "http:\/\/cs1.mp3.pm\/listen\/6562930\/S2VaYW9MTDBlazJYQ294UmdISjM1enVFM1VGdjVpbnVCSE5CSlArN3k1dExrblJBd0diemtuL2l3dGFFV1BnaXNhM3hHZVdEM2daY3VrNnJzaXVBYVFrakNtOWpCeUM3Nm5KbnA1RC9QSjVCQWhSL1REbUxRYXQwV3JUaXp2dGc\/Saman_Jalili_-_Halam_Bade_2013_(mp3.pm).mp3", "Title": "Halam Bade (2013)", "TrackId": null } ] مثال برای ZeneFarm: [{ "ComingSoon": false, "Date": null, "ImageUrl": "https:\/\/i1.sndcdn.com\/artworks-000081638230-64amys-large.jpg", "Name": "Saman Jalili - Khial", "Singer": null, "Song": null, "Type": null, "Url": "http:\/\/zenefarm.com\/download\/saman%20jalili\/153137046", "View": null, "Author": null, "Duration": " 0:03:46", "Size": " 3.5 MB", "Sound": null, "Title": null, "TrackId": "153137046" }, { "ComingSoon": false, "Date": null, "ImageUrl": "https:\/\/i1.sndcdn.com\/artworks-000032057296-ag3w04-large.jpg", "Name": "Mehdi Ahmadvand - Dooset Daram (Ft Saman Jalili)**cafemusic**", "Singer": null, "Song": null, "Type": null, "Url": "http:\/\/zenefarm.com\/download\/saman%20jalili\/63184038", "View": null, "Author": null, "Duration": " 0:03:16", "Size": " 6.5 MB", "Sound": null, "Title": null, "TrackId": "63184038" } ] نکته: برای سایت MP3PM متغیرهای Name, Url, Duration, Size, TrackId دارای مقدار هستند. نکته: برای سایت ZeneFarm متغیرهای Author, Title,ImageUrl,Size Url, Sound, Duration دارای مقدار هستند. نکته: سایت های موزیک نیازی به getDownloadLink ندارند چون تمامی لینک های اون ها به صورت مستقیم خواهد بود. نکته: شاید بگید لینک های سایت ZeneFarm که این صورت است: http://zenefarm.com/download/saman%20jalili/153137046 و این آدرس به صورت مستقیم نیست! اما اگر این لینک را با MediaElement یا Microsoft Edge یا IDM باز کنید خودکار شروع به دانلود میکند. سورس کد برای ویندوز/فون 8.1 و ویندوز 10 ضمیمه شد. منبع: وین نویس موفق باشید. APIForParseDevMusic.zip
  7. سلام خسته نباشید ببخشید من انقدر سوال دارم من میخوام با برنامه وین نویس وارد حساب کاربریم بشم ارور میده چند تا از دوستان جواب منو دادن میخواستم تشکر کنم نتونستم چجوری وارد حسابم بشم. گوشیمlumia830
  8. سلام به وین نویسی های گرامی، وقت بخیر. در این نمونه کد شما یاد خواهید گرفت که چگونه یک کنترل را با سوایپ به پایین یا بالا با استفاده از انیمیشن پایین بالا کنید (مانند Groove Music) دانلود نمونه کد منبع: وین نویس
  9. سلام به وین نویسی های عزیز، عصر پاییزیتون بخیر، امیدوارم که همیشه سر حال و سر زنده باشید. در این زمان از وین نویس، می خواهیم آموزش کار با انیمیشن ها را با همدیگر فرا بگیریم. دانلود کتاب این آموزش سورس کد این آموزش همچنین شما می توانید از این آموزش که یک آموزش به زبان انگلیسی است نیز استفاده نمایید: َAnimated navigation in Universal Apps سورس کد منبع: وین نویس
  10. توی این پروژه شما یاد میگیرید که چطوری یک فایل به آپلودسنتر آپلودباز با استفاده سی شارپ و برنامه نویسی یکپارچه آپلود نمایید. نکته: حتما مطمئن شوید که گزینه های زیر در تب Capabilitiesـه فایل Package.appxmanifestـه برنامه ـتون تیک خورده باشن: Internet (Client) Internet (Client & Server) این پروژه را در گیت هاب دانلود نمایید: https://github.com/ramtinak/UWP-Uploader آموزش دانلود ار گیت هاب: لینک پروژه را در مرورگر خود باز کنید. سپس مانند عکس بالا، روی Clone or download کلیک کنید تا پنجره زیر به نمایش در آید. در آخر روی Download ZIP کلیک کنید: منبع: وین نویس
  11. چون در دروس پیشین به بررسی کنترل های XAML پرداخته بودیم، در این درس نیز به چند کنترل دیگر می پردازیم تا با کنترل های بیشتر آشنا شوید. در این درس با کنترل های زیر آَشنا خواهید شد: ScrollViewer Ellipse FlipView MediaElement AppBar و CommandBar Slider ProgressBar پروژه جدید یکپارچه ای به نام WN XAML Controls ایجاد و MainPage.xaml را باز کنید. پس از ایجاد پروژه، 5 عکس را در رایانه خود به نام های زیر تغییر نام دهید: Image1.jpg Image2.jpg Image3.jpg Image4.jpg Image5.jpg نکته: تمامی حروف به صورت کوچک نوشته شود! پس از آن، در پنجره Solution Explorer روی پروژه راست کلیک کنید و روی Add کلیک کرده و در آخر گزینه Existing Item… را انتخاب کنید. سپس پنجره ای برای شما باز می شود که باید عکس هایی که تغییر نام دادید را انتخاب کرده و روی Add کلیک کنید تا به پروژه شما اضافه شود. پس از آن عکس ها به پروژه شما اضافه خواهد شد: نکته: این عکس ها در این پروژه به کار برده خواهند شد. ScrollViewer کنترلی است که برای اسکرول کردن به کار می رود، به صورت پیشفرض همه ی کنترل ها تنظیمات اسکرول را دارا هستند اما به دلایلی کار نمی کنند. برای همین برای اسکرول، بهتر است کنترل Layoutـی که می خواهیم را درون یک ScrollViewer قرار دهیم تا کنترل های درون آن قابل اسکرول شوند. کنترل ScrollViewerـی درون گرید اصلی صفحه قرار داده و درون آن یک کنترل دیگر Grid قرار دهید. نکته: کنترل ScrollViewer فقط می تواند یک کنترل را درون خود جای دهد. پس اگر می خواهید چندین کنترل را دارای اسکرول کنید بهتر است درون یک کنترل Layout مانند StackPanel یا Grid آنها را قرار داده و سپس این Layout را درون ScrollViewer قرار دهید. ------------------------------------- Ellipse به معنای بیضی است، این کنترل می تواند عکس ها به صورت دایره یا بیضی به نمایش در آورد. چنانچه طول و عرض این کنترل برابر باشد، عکس یا رنگ به صورت بیضی در می آید اما اگر عرض و طول برابر نباشند به صورت بیضی در خواهد آمد. کنترل Ellipseـی به StackPanel اضافه کنید. (این کنترل را می توانید در قسمت All XAML Controls در پنجره Toolbox پیدا کنید.) <Ellipse Fill="#FFF4F4F5" Height="100" Stroke="Black" Width="100" /> خاصیت Fill این کنترل می تواند هم رنگ را بپذیرد هم عکس را. خاصیت Stroke در واقع هما دایره ای است که در برای لبه ها در نظر می گیرد. شما می توانید اندازه Stroke را با خاصیت StrokeThickness که از نوع عددی می باشد تغییر دهید. روی کنترل Ellipse کلیک کنید و به پنجره تنظیمات آن بروید. روی مثلث کوچک کنار Brush کلیک کنید تا تنظیمات مربوط به Brush برای شما به نمایش در آید، سپس روی آیکونی که در تصویر زیر مشخص شده است کلیک کنید تا بتوانید عکسی برای Ellipse انتخاب نمایید: پس از باز شدن تب مربوطه، روی مثلث سمت راست گزینه ImageSource کلیک کنید تا نام عکس های درون پروژه را به شما نشان دهد. روی اولی یعنی image1.jpg کلیک کنید تا این عکس به عنوان عکس بیضی ما در نظر گرفته شود: اکنون کدهای XAML مربوط به بیضی به صورت زیر خواهد بود: <Ellipse Height="100" Stroke="Black" Width="100"> <Ellipse.Fill> <ImageBrush Stretch="Fill" ImageSource="image1.jpg" /> </Ellipse.Fill> </Ellipse> ------------------------------------- FlipView از این کنترل برای نمایش عکس ها یا آیتم های یک لیست استفاده می شود، مانند عکس های درون یک آلبوم یا آیتم های یک محصول. برای دستگاه های لمسی، swipe(کشیدن به سمت چپ یا راست و یا بالا یا پایین) برای تغییر آیتم این کنترل استفاده می شود. برای دستگاه هایی که موس دارند، برای تغییر آیتم چنانچه موس را بر روی این کنترل بگیریم دکمه های بعدی و قبلی به نمایش در می آیند. برای کیبورد نیز از دکمه های چپ و راست یا بالا و پایین استفاده می شود. شاید برای شما سوال پیش آید که این کنترل چگونه به نمایش در خواهد آمد. در اینجا چند عکس برای روشن تر شدن این کنترل برای نشان داده شده است: همانطور که از عکس سوم و پنجم پیداست، این کنترل در استور مایکروسافت و نرم افزار DL Music به عنوان اسلایدشو به کار برده شده است. کنترل FlipView را به StackPanel اضافه کنید.(این کنترل را می توانید در قسمت All XAML Controls در پنجره Toolbox پیدا کنید.) اندازه ارتفاع این کنترل را برابر با 200 قرار دهید. <FlipView x:Name="flipView" Height="200"> </FlipView> این کنترل نیز مانند باقی کنترل های Layout دارای خواص Children است که می تواند کنترل های دیگر را درون خود جای دهد. در اینجا ما پنج کنترل Image را درون آن قرار می دهیم و عکس هایی که به پروژه اضافه کردیم را به کنترل های Image میدهیم: <FlipView x:Name="flipView" Height="200"> <Image Source="/image1.jpg" Stretch="Fill" /> <Image Source="/image2.jpg" Stretch="Fill" /> <Image Source="/image3.jpg" Stretch="Fill" /> <Image Source="/image4.jpg" Stretch="Fill" /> <Image Source="/image5.jpg" Stretch="Fill" /> </FlipView> نکته: برای افقی یا عمودی کردن FlipView باید کد زیر را به FlipView اضافه کنیم.(به صورت پیشفرض FlipView افقی می باشد.) <FlipView.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel Orientation="Vertical" /> </ItemsPanelTemplate> </FlipView.ItemsPanel> خاصیت Orientation می تواند به صورت Vertical(عمودی) یا Horizontal(افقی) در آید. در این درس می خواهیم به صورت افقی باشد پس آنرا برابر با Horizontal قرار میدهیم. تمامی کدهای FlipView شما باید به صورت زیر باشد: <FlipView x:Name="flipView" Height="150"> <FlipView.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel Orientation="Horizontal" /> </ItemsPanelTemplate> </FlipView.ItemsPanel> <Image Source="/image1.jpg" Stretch="Fill" /> <Image Source="/image2.jpg" Stretch="Fill" /> <Image Source="/image3.jpg" Stretch="Fill" /> <Image Source="/image4.jpg" Stretch="Fill" /> <Image Source="/image5.jpg" Stretch="Fill" /> </FlipView> ------------------------------------- MediaElement با استفاده از این کنترل می توانید موزیک و ویدیو را در برنامه های یکپارچه پخش نمایید. شما می توانید دکمه های این کنترل (Play,Pause,Next,Previousو...) را تغییر دهید یا اینکه پس زمینه کنترل ها را تغییر دهید. این کنترل نیز مانند باقی کنترل ها دارای خواصی است که در اینجا به چند مورد آن اشاره خواهیم کرد. Source با استفاده از این خاصیت می توانید Uriـه فایلی که می خواهید(چه در اینترنت، چه در خود پروژه) را پخش نمایید. نکته: برای اینکه بتوانید از اینترنت فایلی را پخش کنید باید در Package.appxmanifest تعیین کنید که برنامه به اینترنت دسترسی داشته باشد. به صورت پیشفرض این دسترسی برای هر پروژه ای که ایجاد می کنیم داده میشود. برای پخش فایل از طریق فایل های محلی مانند فایل های درون موبایل یا رایانه باید از تابع SetSource استفاده کنید. این تابع دارای دو پارامتر ورودی است که اولی از نوع IRandomAccessStream است و دومی نیز MimeTypeـه فایل را تعیین میکند.(فعلا به همینجا اکتفا کنید، در دروس آینده نمونه هایی برای پخش فایل های محلی زده خواهد شد.) AutoPlay خاصیتی از نوع بولین هاست، می تواند true یا false باشد. به صورت پیشفرض true است. این خاصیت تعیین می کند که پس از دادن Sourceـه جدید خودکار آنرا پخش کند. چنانچه این فایل حجیم باشد یا از اینترنت باشد و سرعت اینترنت کاربر پایین باشد، پس از دادن Sourceـه فایل صوتی یا تصویری، اگر تعیین نکنیم که این خاصیت false باشد، ممکن است نتواند فایل را پخش کند. AreTransportControlsEnabled خاصیتی است که تعیین می کند کنترل های پلیر را به نمایش در آورد. این خاصیت از نوع بولین هاست. به صورت پیشفرض برابر با false است. این خاصیت می تواند Play, Pause,Stop، تنظیم میزان بلندی صدا، قطع صدا، نمایش پروسه پخش، جلو یا عقب زدن فیلم و... را به نمایش در آورد. پس چنانچه می خواهیم کنترل ها به نمایش در آیند باید این خاصیت را برابر با true قرار دهید. Stretch دریافت یا تنظیم اینکه MediaElement چگونه کشیده شود. این خاصیت می تواند یکی از مقادیر None, Uniform, UniformToFill, Fill را داشته باشد. Balance دریافت یا تنظیم نسبت حجم صدا در بلندگوهای استریو. (از منفی یک تا مثبت یک) به صورت پیشفرض روی صفر می باشد. این میزان تنظیم می کند که در بلندگوی سمت راست صدا بیشتر پخش شود یا در بلندگوی سمت چپ یا اینکه در هر دو به اندازه پخش شود(یعنی صفر). CanPause دریافت اینکه ویدیو یا موزیک ما می تواند Pause(متوقف) شود یا خیر، این مقدار از نوع بولین هاست. نکته: این خاصیت به صورت ReadOnly می باشد یعنی فقط خواندنی است. CanSeek دریافت اینکه آیا ویدیو یا موزیک ما می تواند جلو-عقب شود یا خیر. این مقدار از نوع بولین هاست. نکته: این خاصیت به صورت ReadOnly می باشد یعنی فقط خواندنی است. CurrentState تعیین می کند که پخش در چه مرحله ای قرار دارد. این خاصیت یکی از موارد Closed, Opening, Buffering, Playing, Paused, Stopped را تعیین می کند. نکته: این خاصیت به صورت ReadOnly می باشد یعنی فقط خواندنی است. IsAutioOnly خاصیتی از نوع بولین که فقط خواندنی است. تعیین می کند که آیا فایل در حال پخش فقط موزیک است یا خیر. IsFullWindow تعیین می کند که آیا MediaElement در حالت تمام صفحه است یا خیر. با استفاده از این گزینه می توانید تعیین کنید که فیلم در کدام حالت باشد. این خاصیت از نوع بولین هاست. IsLooping تعیین می کند که فایل پخش ما می تواند پس از اتمام دوباره پخش شود یا خیر. شما می توانید این گزینه که از نوع بولین هاست به true تغییر دهید تا پس از هربار اتمام پخش، فایل ویدیویی یا موزیک دوباره شروع به پخش شود. IsMuted تعیین می کند که آیا صدای فیلم یا موزیک قطع شود یا خیر. این خاصیت از نوع بولین هاست. NaturalDuration که از نوع Duration است تعیین می کند که زمان فیلم چقدر است. این خاصیت فقط خواندنی است. Position تعیین کنید که مکان فعلی فیلم در کجا باشد(برای جلو و عقب زدن فیلم یا موزیک) این خاصیت از نوع TimeSpan می باشد. Volume این خاصیت میزان صدا را تعیین می کند. از نوع عددی است و می تواند از صفر تا یک باشد. اعداد اعشاری نیز می تواند باشد. به صورت پیشفرض 0.5 است. کد زیر را به StackPanel برنامه اضافه کنید: <MediaElement x:Name="mediaElement" Height="200" AutoPlay="False" Source="http://dl.nex1music.ir/1395/03/03/Meysam%20Ebrahimi%20-%20Doost%20Daramet.mp3" AreTransportControlsEnabled="True" /> ------------------------------------- AppBar و CommandBar Command bars (همچنین app bars نیز خوانده می شود) به کاربران دسترسی آسان کارهای مهم برنامه شما را ارائه می دهند و می توانند به عنوان دستورات یا تنظیماتی مانند انتخاب عکس، تغییر عکس، ذخیره و... مورد استفاده قرار گیرند. نمونه ها: در برنامه Photos: در نرم افزار Outlook Calendar: آناتومی یا ساختار: به صورت پیشفرض، Command bar ردیفی از دکمه های آیکونی و یک تنظیماتی به عنوان "نمایش بیشتر" را نشان می دهد، که تنظیمات بیشتر با سه بیضی [•••] مشخص می شوند. نمونه: ساختار یک CommandBar به صورت زیر است: همانطور که در عکس بالا مشخص شده است، سه ناحیه برای تعیین کنترل ها وجود دارد. ناحیه Content در سمت چپ قرار می گیرد. اگر در این قسمت کنترلی قرار دهیم این ناحیه به نمایش در می آید. ناحیه PrimaryCommands در سمت راست ناحیه قبلی قرار می گیرد. چنانچه کنترلی قرار دهیم دکمه "نمایش بیشتر" [•••] به نمایش در خواهد آمد. ناحیه SecondaryCommands نیز زمانی به نمایش در می آید که روی دکمه "نمایش بیشتر" کلیک شود. کد XAML برای تصویر بالا: <CommandBar> <AppBarToggleButton Icon="Shuffle" Label="Shuffle" /> <AppBarToggleButton Icon="RepeatAll" Label="Repeat"/> <AppBarSeparator /> <AppBarButton Icon="Back" Label="Back" /> <AppBarButton Icon="Stop" Label="Stop" /> <AppBarButton Icon="Play" Label="Play" /> <AppBarButton Icon="Forward" Label="Forward" /> <CommandBar.SecondaryCommands> <AppBarButton Icon="Like" Label="Like" /> <AppBarButton Icon="Dislike" Label="Dislike" /> </CommandBar.SecondaryCommands> <CommandBar.Content> <TextBlock Text="Now playing..." Margin="12,14" /> </CommandBar.Content> </CommandBar> این کد را درون StackPanel برنامه قرار دهید. ------------------------------------- Slider اجازه می دهد کاربر طیفی وسیعی از اعداد را با حرکت انگشت مسیر حرکت آنرا تعیین کند. این کنترل می تواند به صورت عمودی و افقی باشد. Value میزان فعلی را بر اساس اعداد اعشاری تعیین می کند. Minimum کوچکترین عددی که اسلایدر می توان داشته باشد را تعیین می کند. Maximum بزرگترین عددی که اسلایدر می تواند داشته باشد را تعیین می کند. Orientation افقی یا عمودی بودن اسلایدر را تعیین می کند. کد زیر را به StackPanel برنامه اضافه کنید: <Slider x:Name="slider" Minimum="0" Value="50" Maximum="100" /> ------------------------------------- ProgressBar این کنترل برای نمایش پروسه کاری است. مثلا می خواهید به کاربر میزان کاری را نمایش دهید. ProgressBar نیز مانند Slider دارای مقادیر زیر است: Value میزان فعلی را بر اساس اعداد اعشاری تعیین می کند. Minimum کوچکترین عددی که پروسه می توان داشته باشد را تعیین می کند. Maximum بزرگترین عددی که پروسه می تواند داشته باشد را تعیین می کند. به صورت پیشفرض ProgressBar به صورت زیر است: چنانچه می خواهید به صورت زیر در آید کافی است IsIndeterminate را برابر با True قرار دهید: برای اینکه بتوانید به پروسه انجام کاری را به صورت زیر انجام دهید: باید از کنترل ProgressRing استفاده کنید. که برای این که حلقه پروسه بچرخد باید خاصیت IsActive این کنترل را روی True قرار دهید. کدهای XAML زیر را به StackPanel اضافه کنید: <ProgressBar Minimum="0" Value="50" Maximum="100" Margin="2" /> <ProgressBar IsIndeterminate="True" Height="10"/> <ProgressRing IsActive="True" /> اکنون نرم افزار شما باید به صورت زیر باشد: کتاب الکترونیک + پروژه این درس پیوست شد. این درس به اتمام رسید، امیدوارم همچنان همراه ما باشید... . منبع: وین نویس Windows 10 Introduction S01E05.pdf WN XAML Controls.zip
  12. DL Music نرم افزاری که از آخرین به روز رسانی آن بیش از یک سال می گذرد... اکنون با قدرتی بیشتر بازگشته است تا نیازهای شما را در رابطه با موزیک و ویدیو ها برطرف سازد. DL Music نرم افزاری است که با آن می توانید به راحتی آهنگ ها، ویدیو ها، آلبوم ها و ... را با تمامی کیفیت ها آنلاین پخش و یا دانلود نمایید. DL Music همچنین می تواند در سایت های جستجوی موزیک، جستجوی شما را انجام دهد تا بتوانید آهنگ مورد نظرتان را پیدا کنید. DL Music توانایی جستجو در تمامی سایت هایی که در اختیارتان قرار می دهد را داراست. DL Music می تواند آهنگ ها و ویدیوها را در سه برنامه اجرا کند: DL Music, AVP and Ultra Player DL Music می تواند فایل ها را به چهار صورت برای دانلود آماده کند، اینترنت اکسپلوره یا مایکروسافت اج، دانلودر DL Music، نرم افزار UCBrowser و نرم افزار Loadkit Download Manager سایت ها به صورت خودکار به روز رسانی میشوند پس نیازی نیست که برنامه را برای اضافه شدن سایتی جدید، به روز رسانی نمایید. نسخه 2.0 همه چیز تغییر پیدا کرده است... لینک نرم افزار در استور مایکروسافت: دانلود نکته: این نرم افزار برای ویندوزفون 8.1 و ویندوز 8.1 ساخته شده است. نکته: این نرم افزار تا 48 ساعت آینده در دسترس شما برای دانلود قرار می گیرد. نکته: این نرم افزار برای ویندوزفون 8.1 و ویندوز 8.1 ساخته شده است. نکته: این نرم افزار تقریبا تا 48 ساعت آینده در دسترس شما برای دانلود قرار می گیرد.
  13. سلام، امروز نسخه دوم برنامه DL Music رو به استور فرستادم که بعد از یک ساعت جواب دادن و درون جواب خطای زیر وجود داشت: (روی عکس کلیک کنید تا سایز اصلی را نمایش دهد) Package compliance test PASSED Application count FAILED App manifest Error Found: The app manifest test detected the following errors: The contrast ratio of the background color and foreground text color is 1. This ratio should be greater than or equal to 1.5. Impact if not fixed: Apps that violate the Windows Store certification requirements can’t be submitted to the Windows Store. How to fix: App manifest must include valid entries for all required fields, please modify the manifest entries listed above. See link below for more information: Certification requirements همانطور که در عکس نمایش داده شده، به Locations که نگاه کنید، می بینید که این خطا در پروژه ویندوزی برنامه است. برای رفع این مشکل کافی است پروژه خود را باز کرده و در پروژه ویندوزی فایل package.appxmanifest را باز کنید. سپس به تب Visual Assets بروید و گزینه Foreground Text را روی Dark قرار دهید. سپس پکیجی جدید ایجاد و برای استور ارسال نمایید. دلیل این مشکل این است که چنانچه Foreground Text روی Light (روشن) باشد رنگ سفید برای آن در نظر می گیرد و زمانی که در گزینه زیر آن یعنی Background coloder (پس زمینه) رنگ Transparent(بدون رنگ) را انتخاب کرده باشیم، نام برنامه که در کاشی به درستی به نمایش در نخواهد آمد. نکته: در پروژه های ویندوز 10 هم این مشکل ممکن است به وجود آید. موفق باشید.
  14. متاسفانه، پادگان ما از 24 ساعت نگهبانی و 24 ساعت خروج، به چهار روز نگهبانی و یک روز خروج تغییر پیدا کرده است، پس متاسفانه ممکن است در نگارش آموزش ها کمی تاخیر بیافتد. بابت این موضوع از شما عذرخواهی می کنم. امیدوارم این موضوع باعث دلسردی شما نشود. در دروس پیشین با همدیگر برنامه HelloWorld را ایجاد کردیم و در مورد آن بحث کردیم. سپس درباره XAML و ارتباط آن با کلاس سی شارپ یاد گرفتیم، در آخر نیز توضیحاتی راجع به کنترل Grid که می تواند دارای ردیف، ستون باشد و می تواند هر تعداد کنترلی که می خواهیم را در خود جای دهد. در این درس به باقی کنترل های XAML می پردازیم تا با نحوه کارکرد آنها بیشتر آشنا شویم. کنترل های رایج XAML یا Common XAML Controls کنترل های رایج XAML 24 عدد هستند که هر کدام برای کار خاصی ساخته شده اند. در زیر به معرفی آنها ابتدا می پردازیم و در ادامه برای آنها مثال خواهیم زد. Border بُردر Button کنترل دکمه، این کنترل برای ساخت دکمه های برنامه به کار می رود. معمولا مستطیل شکل هستند. معمولا btn مخفف دکمه است. CheckBox جعبه انتخابی، برای قرار دادن چندین گزینه برای انتخاب گذاشته می شود. پیشوند Chk. ComboBox جعبه ترکیبی، شامل لیستی که می توان یکی از آن را انتخاب نمود. DatePicker انتخاب کننده تاریخ FlipView کنترلی برای ساخت اسلاید شو ها Flyout پنلی Panel که می تواند کنترل ها را در خود جای دهد و هنگامی که باز شود چنانچه روی باقی صفحه که این کنترل وجود ندارد کلیک شود، این کنترل پنهان می شود. Grid کنترل گرید پُرکاربرد ترین کنترل در XAML است، این کنترل توانایی داشتن هر نوع کنترلی را در خود دارد. GridView کنترلی مانند ListView است با این تفاوت که این کنترل، کنترل ها را به صورت افقی در خود قرار می دهد اما در لیست ویو کنترل ها به صورت عمودی در لیست قرار می گیرند. Hub این کنترل به شما اجازه می دهد که برنامه خود را سازماندهی کنید و در عین حال با دسته ها مرتبط باشد. Image کنترلی که می توانیم در آن تصاویرهایی که می خواهیم را به نمایش در آوریم. ListView کنترل ها به صورت لیستی عمودی در لیست ویو قرار می گیرند، معمولا برای نمایش لیست ها از ListView استفاده می شود. MenuFlyout پنل بازشونده منو، برای ساخت منو های برنامه برای یک کنترل خاص. Pivot کنترلی برای ساخت تب. PivotItem تب های کنترل Pivot از نوع PivotItem هستند. RadioButton دکمه رادیویی، برای انتخاب یک مورد خاص. Rectangle کنترلی نمایش رنگ، عکس و ... RelativePanel این کنترل در واقع برای هر عنصر(کنترل) دیگر محدودیتی ایجاد می کند که برای ساخت برنامه های واکنش گرا یا Responsive استفاده می گردد. روابط بین عناصر برای ساخت بهتر رابط کاربری یکی دیگر از امکانات این کنترل است. StackPanel کنترلی مانند StackPanel اما با این تفاوت که محدود تر از آن است. این کنترل می تواند اشیا را به صورت عمودی و افقی در خود جای دهد. SplitView این کنترل در واقع همان کنترلی است که برای ساخت منوی همبرگری استفاده میشود. این کنترل دارای دو Property به نام های SplitView.Pane و SplitView.Content است که به ترتیب اولی برای دکمه های منو و دومی برای نمایش صفحات برنامه است. TextBlock بلاک متنی، نمایش متون در این کنترل انجام پذیر است. TextBox جعبه متنی، این کنترل به کاربر توانایی نوشتن متن، ایمیل، تلفن و... را می دهد. MediaPlayer کنترلی که می تواند آهنگ، ویدیو یا تصاویر را پخش کند. در درس بعد، این کنترل ها را در برنامه به کار خواهیم برد تا بیشتر با مفاهیم کاربرد آنها آشنا شویم. کتاب الکترونیک (PDF) این آموزش پیوست شد. این درس به اتمام رسید، امیدوارم همچنان همراه ما باشید... . منبع: وین نویس Windows 10 Introduction S01E03.pdf
  15. در اینجا می توانید لینک آموزش هایی که در انجمن قرار داده اید را بگذارید تا به لیست اضافه شود. این کار برای پیدا کردن آسان آموزش های انجمن برای کاربران می باشد. لیست آموزش های انجمن: حذف تگ های HTML حذف Attribute در HTML Parse کردن یک خبر خوان وردپرسی برای ویندوزفون و سیلورلایت غیر فعال کردن خاموش شدن صفحه به صورت خودکار در ویندوزفون 8.1 Status Bar در ویندوزفون 8.1 استفاده از فونت دلخواه ایجاد انیمیشن با Blend در ویندوز فون ذخیره و بازیابی داده های برنامه در ویندوزفون 8.1 پخش موزیک در پس زمینه در ویندوزفون 8.1 لاگین شدن و لاگین ماندن در سایت ها در ویندوزفون 8.1 ساخت کتاب در ویندوزفون 8.1 تارکردن عکس ها در ویندوزفون 8.1 محلی سازی نرم افزار ها(اضافه کردن زبان های مختلف) دو تکنیک در مورد application data