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

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



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

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

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

نوع محتوا


تالار ها

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

گروه


آدرس تارنما


یاهو


اسکایپ


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


شماره تماس


تلگرام


مکان


علایق


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

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

  1. سلام به دوستان عزیز من قصد نوشتن یه برنامه با زامارین فرمز رو دارم و با توجه به اینکه این برنامه نیاز به یک پایگاه داده قوی برای نگهداری حجم عظیمی داده را دارد و همینطور میزان بالای تراکنش های موجود در لحظه بر روی پایگاه داده و همینطور اینکه این پایگاه داده قرار هست بین تمامی اپ های مربوطه بطور مشترک و بصورت انلاین مورد استفاده قرار بگیره در واقع به این معنی که قرار هست برنامه نوشته بشه برای تمامی پلتفرم های دسکتاپ ، موبایل و وب که یه پایگاه داده مشترک خواهند داشت و دسترسی به پایگاه داده هم بصورت انلاین هست خواستم دوستان اگر تجربه ای در این زمینه دارن راهنمایی کنید که بهترین انتخاب برای همچین منظوری چه پایگاه داده ای هست و روش اتصال رو هم اگر مطلئید توضیح بدید با تشکر. بخوام چند نر افزار مثال بزنم مثل quick of kings که در آن واحد و برای صدها هزار نفر همزمان ارتباط با پایگاه داده برقرار میکنه و بسیار هم روان هست اینها از چه پایگاه داده ای استفاده میکنند و به چه شکل. اگر در مورد Azure هم اطلاعاتی دارید و احتمال داره در این مورد به کارم بیاد هم توضیحاتی ارائه کنید بسیار سپاسگذار میشم. با تشکر از دوستانمون در وینویس
  2. آموزش تبدیل گفتار به نوشتار در ویندوز یکپارچه. کتاب الکترونیک آموزش پیوست شد. پروژه نمونه را می توانید از گیتهاب دانلود نمایید: https://github.com/ParseDev/WitAiUWP منبع: وین نویس 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. به نام خدا در این آموزش قصد داریم تا طراحی رابط کاربری بصورت تطبیق پذیر رو فرا بگیریم به این معنی که با تغییرات اندازه ی صفحه ی اپلیکیشن در برنامه تغییرات ظاهری مناسب ایجاد کنیم. خب ابتدا Blend For Visual Studio 2017 رو که همراه با Visual Studio روی سیستم شما نصب شده و برای طراحی اپلیکیشن بکار میره رو باز می کنیم. توجه کنید که کاری که می خواهیم انجام بدیم با Visual Studio هم میشه انجام داد اما باید به صورت دستی کد ها رو وارد کرد که برای افراد غیر حرفه ای اصلا توصیه نمیشه. سپس دیالوگ بعدی را ok کنید خب حالا از Solution Explorer صفحه ی MainPage.XAML رو باز می کنیم و کد زیر رو درونش می نویسیم در نتیجه به این ظاهر می رسیم : حال همونطور که در تصویر زیر مشاهده می کنید ابتدا یک VisualStateGroup می سازیم و نام آن را SplitViewStates می گذاریم در این گروه از State ها (وضعیت های مختلف رابط کاربری) ما می خواهیم حالت های مختلف SplitView را در اندازه های مختلف صفحه مشخص کنیم. و در گام بعدی سه State زیر را به صورتی که می بینید اضافه میکنیم (نام ها دلخواه هستند و تاثیری ندارند) وضعیت Closed را برای زمانی اضافه کردیم که Pane باید بسته باشد. وضعیت Compact برای زمانی که Pane به صورت Compact یا فشرده نمایش داده می شود. و وضعیت open برای زمانی که Pane کامل باز است. در تصویر زیر دو نکته حائز اهمیت است : دکمه ی قرمز به معنی آن است که تغییراتی که ما در Properties هر Element انجام می دهیم برای این State ضبط می شوند. علامت چشم به معنی آن است که در حال مشاهده ی این State درون XAML Designer هستیم. خب حالا میریم سر اصل مطلب! ابتدا State Open را انتخاب می کنیم (علامت قرمز کنارش نمایش داده بشه) و برای آن یک AdaptiveTrigger اضافه میکنیم AdptiveTrigger دو متغیر دارد یکی MinWindowWidth یکی MinWindowHeight که بیانگر این هستند که اگر سایز صفحه (مثلا عرض صفحه) از مقدار متغیر بیشتر شود آن Trigger اتفاق می افتد مثلا اگر MinWindowWidth =500 باشد هنگامی که صفحه از 500 عریضتر شود این تریگر رخ می دهد. حالا که تریگر اضافه شده می تونیم بیایم تغییرات دلخواهمون رو اعمال کنیم توجه داشته باشید که تغییرات رو باید از پنجره ی properties انجام بدیم نه بصورت دستی از XAML! همین کار رو برای دو State دیگر نیز بصورت زیر انجام می دهیم : نکته ی تصویر بالا اینه که ما یه بار تیک رو میزنیم و دوباره برش می داریم تا ویژوال استودیو برای ما کد رو اضافه کنه که ما میخوایم تو این state این پراپرتی false باشه! دلیل اینکه تو تصویر بالا بجای 0 عدد 1 رو گذاشتم این بود که ویژوال استودیو اگر صفر بذاریم فکر میکنه مقدار نمی خواستیم بدیم و در نتیجه تریگر رو اضافه نمی کنه بنابرین 1 گذاشتم بعدا میتونید از خود XAML برید و صفر بذارید جاش خب حالا میایم به همین صورت یک VisualStateGroup دیگه برای اون سه تا مستطیل وسط میسازیم که دو تا State داشته باشه Vertical برای صفحه های کوچک و Horizontal برای صفحه های بزرگ من کد نهایی رو قرار میدم مراحل مثل قبل میمونه فقط پراپرتی Orientation از StackPanel رو اینبار تغییر دادیم: و نتیجه نهایی پایان!
  5. با سلام. امروز با معرفی و آموزش Windows Template Studio که به تازگی از سمت مایکروسافت منتشر شده است، در خدمت شما هستیم. ویندوز تمپلیت استودیو در حقیقت یک محیط در ویژوال استودیو است که شما پروژه ی خود + امکانات و شمای کلی پروژه را تعریف میکنید، و تمپلیت استودیو قسمت زیادی از نرم افزار را برایتان کد می زند! ویندوز تمپلیت استودیو یک جانشین تمام عیار برای App Studio است که هم برای مبتدیان و هم برای حرفه ای ها کاربردی است. حالا بریم سراغ اصل مطلب: به چه چیزی نیاز داریم؟ 1-ویندوز 10 2-ویژوال استودیو 2017 (روی 2015 تست نشده، امکان دارد به مشکلاتی بخورد) 3-آخرین نسخه از SDK ویندوز 10 تمپلیت استودیو را دانلود و نصب کنید! 1-از این لینک آخرین نسخه ی ویندوز تمپلیت استودیو را دانلود کنید. 2-فایل دانلود شده را اجرا کنید تا فایل های مربوطه را دانلود و نصب کند. امکان دارد که برای نصب به VPN نیاز داشته باشید. حجم دانلودی هم زیر 1 گیگابایت می باشد. شروع به کار با تمپلیت استودیو 1-ویژوال استودیو را باز کنید. قسمت File/new/project را بزنید. 2- در صورت نصب کامل و صحیح تمپلیت استودیو باید در قسمت C#/Universal Windows ، گزینه ی Windows Template Studio(Universal Windows) را ببینید. روی آن کلیک کنید تا صفحه ی تمپلیت استودیو باز شود. 3- در اینجا شما نوع پروژه و فریمورک خود را مشخص میکنید. -نوع پروژه: الف)Navigation Pane شما یک پروژه به نوع نویگیشن پین خواهید داشت که نویگیشن بین صفحات مختلف با کمک همبرگر منو صورت می گیرد. ب)Blank تمپلیت استودیو به شما یک پیج خالی تحول خواهد داد. هر جور که خود صلاح میدانید نویگیشن آن را درست کنید ج)Pivot and tabs یک پیج حاوی چند تب به شما داده می شود که نویگیشن به کمک پیوت (Pivot) انجام خواهد شد. -فریموک استفاده شده(معماری نرم افزار): الف) Code Behind کد نویسی منطقی شما داخل کد بیهایند انجام خواهد شد. ب)MVVM Light کد نویسی با معماری MVVM انجام خواهد شد و از فریمورک سوم شخص MVVM Light استفاده خواهد شد. ج)MVVM Basic کد نویسی به صورت MVVM انجام می شود اما به صورت ساده. از هیچ گونه فریمورکی هم استفاده نخواهد شد. بعد از انتخاب فریمورک و نوع نویگیشن، Next را بزنید. 4- انتخاب ویژگی ها و امکانات برنامه الف) پیج ها در می توانید پیج های مختلفی را به نرم افزار خود اضافه کنید. انواع این پیج ها : ساده، همراه با چارت، همراه با گرید ویو، همراه با نقشه، پیج مستر دیتیل (همانند نرم افزار میل، تلگرام دسکتاپ، یونیگرام و ...)، همراه با مدیا پلیر، پیج تنظیمات، پیج تب دار (همراه با پیوت) و وب ویو هستند. ب) امکانات در اینجا می توانید امکانات مختلفی را به نرم افزار خود اضافه کنید. -مدیریت لایف سایکل نرم افزار شامل: مدیریت ذخیره ی ستینگز، مدیریت ساسپند و ادامه ی نرم افزار -بک گراند تسک -ارتباط به کاربر شامل : توست نوتیفیکیشن، پوش نوتیفیکیشن از طریق داشبورد، کاشی زنده و پوش نوتیفیکیشن آژور. امکانات نرم افزار خود را انتخاب کنید، Create را بزنید و صبر کنید تا تمپلیت استودیو نرم افزار را برایتان کد بزند مشاهده می شود که تمپلیت استودیو بسیار کد تمیز و قابل فهمی را جنریت میکند. که به راحتی قابل شخصی سازی و ادامه ی روند توسعه ی نرم افزار است. در ادامه نرم افزار را اجرا می کنیم به خوبی کار میکند ویندوز تمپلیت استودیو یک پروژه ی متن باز است که می توانید در گیت هاب پیدایش کنید.
  6. با سلام و عرض ادب و احترام خدمت شما. امروز با آموزش اولیه ی انتیتی فریمورک کور در خدمت شما هستیم. در این آموزشی شما : با مفاهیم پایه ای ORM و انتیتی فریمورک آشنا خواهید شد + با یک آموزش پروژه محور، راه اندازی انتیتی فریمورک کور و عملگر های اصلی آن را فرا خواهید گرفت. همانطور که می دانید، انتیتی فریمورک یک نوع ORM است. (از نظر خودم بهترین ORM) که اجازه ی ارتباط و مدیریت دیتابیس را در اختیارتان قرار می دهد. انتیتی فریمورک کور همان انتیتی فریمورک است که به صورت فراپلتفرمی اجرا شده است. این ORM میتواند در پروژه های دات نت فریمورک، زامارین، دات نت کور، ویندوز اپلیکیشن و ... روی هر پلتفرمی اجرا شود! ORM چیست؟ ORM (Object Relational Mapping) یک لایه مترجم بین زبان برنامه‌نویسی و پایگاه داده رابطه‌ای است که این دو را به هم تبدیل می‌کند و در عمل باعث می‌شود که این دو حیطه کاملا متفاوت زبان یکدیگر را به خوبی بشناسند و با هم تبادل اطلاعات داشته باشند. یک ORM قوی ، برنامه را از نوع پایگاه داده استفاده شده، جدا می‌کند. این کار باعث می‌شود که استقلال نسبت به نوع پایگاه داده حفظ شود. ORM ارتباط های دایمی و احتمالا پیچیده با پایگاه داده را انجام می دهد و نیازی به انجام اعمال تکراری وکد نویسی هایی تکراری توسط برنامه نویس در هر بار ذخیره فیلد و رکورد جدید و بازیابی اطلاعات و...نیست.از طریق ارتباطی که بوسیله ORM بین اشیاء و پایگاه داده ایجاد می شود می توان اطلاعات اشیاء را با صدا زدن یک متد در پایگاه داده ی خود ذخیره کنید. این ساده سازی که توسط ORM فراهم می شود باعث میشودبا کدهای کمتری کارهایی نظیر بازیابی اطلاعات را انجام دهیم وبعدها اگه خواستیم تغییراتی اعمال کنیم به راحتی بتونیم بازسازی وتغییرش بدیم. ORM محدود به هیچ زبان خاصی نیست و تنها یک تکنیک و سیستم است که می تواند در زبانهای مختلف پیاده سازی شود . چند نوع ارتباط اولیه با دیتابیس داریم؟ 1-Database First:در این روش ابتدا دیتابیس طراحی و پیاده سازی می شود و بعد از آن انتیتی فریمورک به وسیله ی ویزارد، کلاس ها و موارد دیگر ارتباط با دیتابیس را می سازد. 2-Model First: در این روش ابتدا به وسیله ی کلاس دیاگرام، مدل برنامه طراحی می شود و انتیتی فریمورک با آن دیتابیس و کلاس ها و موارد دیگر را می سازد. 3- Code First: در این روش ابتدا کلاس ها و منطق ابتدایی برنامه نوشته میشود، سپس با انتیتی فریمورک این کلاس ها و آبجکت ها به صورت فیلد ها و رکورد های دیتابیس در میاورد. در این روش برنامه نویس فقط وظیفه ی کد نویسی را دارد و این ORM است که دیتابیس را ساخته و آن را مدیریت میکند. در انتیتی فریمورک فقط اتصال اولیه ی دیتابیس راه های مختلف دارد اما از اینجا به بعد، همه چیز یکسان است. مفاهیم پایه ای: انتیتی(Entity): انتیتی یک کلاس ساده است که پس از فرایند مایگریت به جدول های دیتابیس تبدیل می شود. همچنین این کلاس ها در ارتباط کد فرست با دیتابیس مارا یاری خواهند کرد. DbSet: یک کالکشن در حافظه که مقادیر دیتابیس را در خود دارد. با کوئری های Linq میتوانیم به آن دسترسی داشته باشیم و اعمال add(inset),Delete,Update,Select را در آن انجام دهیم. مایگریتشن(Migration): فرایندی که ORM انتیتی ها را به کد های ساخت و یا تغییرات دیتابیس تبدیل می کند. مایگریت(Migrate): اجرای دستورات مایگریشن و اعمال تغییرات و یا ساخت دیتابیس. در ادامه به صورت پروژه محور با انتیتی فریمورک کور (به صورت Code First) آشنا خواهیم شد.
  7. c#

    با سلام، چگونه میتونم برای فرمت خاصی از فایل ها (برای مثال .winnevis) آیکون خاصی رو بزارم در UWP؟ آیا کلا این امکان وجود دارد؟ اگر وجود دارد برای موبایل هم کار خواهد کرد؟ برای مثال اپلیکیشن Adobe XD که یونیورسال هست و فرمت های .xd با ایکون خاصی به انتخاب این نرم افزار نشان داده میشوند.
  8. c#

    با سلام، من میخواستم که در لاک اسکرین عدد یا اگه بشه متنی رو نشون بدم، چطور میتونم اون کار رو انجام بدم؟ توی سمپل های مایکروسافت یک سمپل در مورد این بود که از کدهاش سر در نیاوردم. حتی با سرچ کردن هم نتونستم این کار رو انجام بدم. (مثل اینکه اسمش LockScreen Badge Notification هست.)
  9. با سلام، چطوری میشه کاشی زنده رو با کد غیر فعال کرد؟
  10. با سلام و آرزوی قبولی طاعات و عبادات، امروز قصد معرفی و آموزش couchbase NoSQL را داریم. در ابتدا سوال که مطرح می شود این است که اصلا دیتابیس NoSQL چیست، کجا استفاده می شود و چرا باید استفاده شود. نو اس کیو ال، یک نوع پایگاه داده ی غیر رابطه ای می باشد که داده ها اغلب به صورت Document هایی حاوی Key:Value ذخیره می شوند. NoSQL ها معمولا بسیار سریع اند، قابلیت ذخیره ی ترابایت ها داده را دارند، به دلیل رابطه ای نبودن بسیار انعطاف پذیر اند و به دلیل اسکیما فورس نبودن بسیار توسعه پذیر (scalable) هستند. نو اس کیو ال نوع جدید و متفاوتی از پایگاه داده می باشد و برای یادگیری صحیح آن نیاز است که کمی از تفکرات بسیار منطقی و اسکیما فورس SQL و رابطه ای دور شویم و به ذخیره ی Json Document ها فکر کنیم. (به شخصه زیاد شده برای کار های خاص آبجکت جیسون سریالایز شده رو ذخیره کنم) نکته ی مهم این است که NoSQLجایگزین برای دیتابیس های رابطه ای نیست! بلکه راه حلی است برای مشکلات، چالش ها و موارد خاص در حوضه ی ذخیره ی دیتا. couchbase چیست؟ کوچ بیس یک دیتابیس NoSQL اوپن سورس با امکانات عالی می باشد. من جمله ی این امکانات می توان به: پشتیبانی از اکثر سیستم عامل ها، زبان های برنامه نویسی و فریمورک های مطرح و پر استفاده، وجود یک زبان شبه SQL برای امر کوئری، سرعت بالا، امکانات مدیریتی ساده و اما غنی، راه حل های بسیار خوب برای multi node cluster و بسیاری دیگر. اما نکته ی بسیار جالب درمورد couchbase (که دلیل این که من رو به خودش جذب کرد، همین بود) پشتیبانی از دستگاه های موبایل(!!!) و وجود سینک گیت وی بود. couchbase server دیتابیس کوچ بیس برای سرور است که برای سیستم عامل های ویندوز، لینوکس و مک ارائه شده. مدیریت این دیتابیس از سه روش 1-کنسول مدیریتی 2-REST API و 3-SDK هایی که برای زبان های برنامه نویسی مختلف ارائه شده (من جمله سی شارپ دات نت) قابل انجام است. couchbase lite یک کتابخانه ی کوچ بیس برای دستگاه های موبایل است! که با آن میتوان داده ها را داخل دیتابیس NoSQL داخل موبایل ذخیره کرد (جایگزین برای SQLite). این کتابخانه از اندروید، آی او اس، ویندوز(وین 32) و زامارین پشتیبانی میکند. (خبر خوب) از نسخه ی 2.0 (که درحال توسعه است) پشتیبانی از ویندوز یونیورسال هم اضافه شده است. نسخه ی 2.0 نسبت به نسخه ی عرضه شده ی فعلی بهبود ها و تغییرات بسیار زیاد و بنیادینی را به خود دیده است. همچنین میتوان داده های آن را با کوچ بیس سرور و سینک گیت وی به وسیله ی ابزار داخل کتابخانه و یا REST API سینک کرد. couchbase sync-gateway یک ابزار تحت وب است که با آن میتوان داده های داخل دیتابیس را با دستگاه های دیگر سینک کرد.الگوریتم سینک بسیار پیاده سازی سختی دارد، اما سینک گیت وی تمام این کار های سخت را برایتان انجام خواهد داد. سینک گیت امکان وی مدیریت یوزر، مدیریت کانفلیکت، مدیریت سینک، آفلاین فرست\آنلاین فرست (ریل تایم) سینک، سینک از طریق REST API ، سینک تحت شبکه (P2P sync) و بسیاری دیگر را به شما خواهد داد. کوچ بیس لایت در عمل: در این_لینک میتوانید داکیومنت های بیشتری را در مورد پیاده سازی کوچ بیس پیدا کنید. گرچه در روز های آتی، درصورت درخواست، آموزشی های اختصاصی تهیه خواهد شد. موید باشید
  11. با سلام، من یک هاست ویندوز دارم و یک پایگاه داده MS SQL در آن. چطور میتونم از طریق اپلیکیشن UWP به این پایگاه داده دسترسی داشته باشم؟ هر چقدر دنبال پایگاه داده mySQL گشتم نتونستم انجام بدم)
  12. با سلام من یک یوزر کنترل ساخته ام حاوی سه تکست بلاک. در کد بیهایند هم دو دپندنسی پراپرتی از نوع int وجود دارد که تکست بلاک اول و دوم از آن بایند میکند. ​اگر بخواهیم که تکست بلاکمان مساوی با حاصلضرب دو دپندنسی پراپرتی فوق باشد چه کنیم؟
  13. درود خدمت همه دات نتی های عزیز.من نمیدونم چه طوری میشه از این استایل های جدید UWP استفاده کرد مشکلم اینه که بلد نیستم چه جوری و کجا API هارو صدا بزنم از طرفی بعضی از این استایل ها و API هاشون Prerelease هستند و خوب من هر چی گشتم نتونستم چیزی پیدا کنم به جز خود داک های مایکرو که گفتم من متوجه نشدم سازز و کار چه جوریایس!!! مشکل اصلی : طرز استفاده از api ها و namespace ها.... https://docs.microsoft.com/en-us/windows/uwp/style/acrylic مثلا اینجا به api هایه مهم اشاره کرده ولی من نمیدونم کجای پروژه باید اون ها رو اد کنم دقیقا. https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.media.acrylicbrush سپاس.
  14. با سلام همانطور که میدانید مایکروسافت هم اکنون روی زبان طراحی جدیدی به نام نئون کار میکند که گرچه به صورت رسمی معرفی نشده است، اما چیز های زیادی از آن لو رفته است. امروز با آموزش پیاده سازی این زبان بر روی اپلیکیشن های یونیورسال در خدمت شما هستیم. نکته : ​این روش بر روی اپلیکیشن برین استودیو که اولین اپلیکیشن نئون موجود در استور است تست شده ​نکته 2: برای اجرای این رابط به بیلد رد استون 2 به بعد و برای توسعه نیاز به اس دی کی رد استون 2 نیار خواهید داشت. ابتدا این سمپل را بگیرید و اما روش پیاده سازی: ابتدا دو پروژه ی "SamplesNative" و "SamplesCommon" را به سولوشن خود اد میکنیم و پروژه ی خود را به آنها رفرنس میدهیم. سپس دو فایل موجود در پوشه ی Assets که در سمپل وجود دارد به نام های Noise.png و Noise.jpg را به پوشه ی Assets پروژه ی خود اضافه میکنیم. بعد از آن نیاز است ایمیج لودر را اینیشالایز کنیم. پس به کانستراکتور پیج اصلی میرویم و زیر اینیشالایز کامپوننت کد زیر را مینویسیم. ImageLoader.Initialize(ElementCompositionPreview.GetElementVisual(this).Compositor); و تقریبا تمام. ​حالا هرجا نیاز به رابط نئون داشتیم از کنترل های مورد نیاز استفاده میکنیم. مثال: xmlns:Neon="using:SamplesCommon" <Neon:HostBackDrop BlurAmount="30" /> در این کتابخانه کنترل های بسیاری وجود دارد. من جمله HostBackDrop که برای بلر کردن ویندوز استفاده میشود، BackDrop که برای بلر کرد اجزا در زمل استفاده می شود و مابقی کنترل ها که در Windows UI Dev Labs توضیح داده شده است. موید باشید
  15. سلام من تازه میخوام برنامه نویسی ویندوز فون رو شروع کنم .. کلاً توی برنامه‌نویسی تازه‌کارم .. یه سوال هست که واقعاً حتی برام فارسی توضیح دادنشم سخته .. اما به کمک عکس سعی میکنم منظورمو به شما عزیزان برسونم تا از کمکتون بهره‌مند شم .. سوالم مربوط میشه به زبان C#‎‎ و برنامه‌نویسی UWP‌ .. میخوام بدونم چجوری باید کاری که پایین میگم رو توی UWP به زبان C#‎‎ انجام بدم .. (درواقع فقط توضیح فارسی میخوام .. یه جورایی میخوام مفهومشو درک کنم) ببینید مثلاً فرض کنید یه اپلیکیشن هست که توش کاربرا عضو میشن و مطلب میزارن .. (عکس زیر رو میزارم تا شاید بهتر متوجه سوالم بشید) درواقع فرض کنید اپلیکیشن فقط 2 صفحه داره .. 1 صفحه مربوط به کل مطالبی که کاربرا گذاشتن 1 صفحه مربوط به جزیئات مطلبی که گذاشتن .. خب میرسیم به جای سخته کار .. که توضیح دادنش برام سخته اما سعی میکنم منظورمو برسونم .. 2 تا صفحه‌ی XAML میسازم تو visual studio .. ظاهر و رنگ‌بندی 2 تا صفحه (قالب) رو مثلاً مثل عکس بالا درست میکنم .. یکیش صفحه‌ی (1) و دومیش صفحه‌ی (2) حالا میخوام بدونم چجوری امکان داره که مثلاً وقتی رو موضوع محمد کلیک کردم، همون قالب صفحه‌ی 2 بیاد اما محتویاتش فرق کنه؟ (محتویاتی باشه که محمد وارد اپلیکیش کرده ـ در واقع تو sql ذخیره شده) و همینطور مثلاً رو موضوع رضا کلیک کردم، صفحه‌ی شماره 2 بیاد (از نظر قالب) اما محتویاتش مثل بالا نباشه .. چیزی باشه که رضا وارد کرده تو اپلیکیشن .. نمیدونم چجوری بیان کنم .. درواقع فقط 2 تا صفحه داریم .. فقط 2 تا .. (صفحه‌ی 1 و 2) اما میخوام داینامیک باشن .. در واقع مثل همین انجمن .. 100 تا تاپیک هست .. که از نظر شکل و شمایش و قالب و رنگ بندی مثل هم هستند .. اما موضوع و اسم نویسنده و مطالب درونیشون با هم فرق داره .. و به طور اتوماتیک هر تاپیک یه شماره‌ی ID داره .. میخوام بدونم چجوری و با چه ساختاری باید همچین کاری کنم؟ یعنی کجا باید دنبال آموزشش باشم .. چی باید سرچ کنم تو نت که برام بیاره .. سَمپل کُدی چیزی .. (اگه آموزش ویدیویی باشه که چه بهتر .. با sql) امیدوارم متوجه منظورم شده باشید .. بسیار ممنون
  16. با سلام سوال داشتم در مورد یوزر کنترل. بنده داخل یوزر کنترلم یک گرید دارم که میخوام Children هاش بایند بشه به Children هایی که بهش میفرستیم. مثال : اگه داخل یوزر کنترل داشته باشیم <UserControl x:Class="MyApp.Controls.Ctrl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:MyApp.Controls" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="60" d:DesignWidth="500" > <Grid > </Grid> </UserControl> وقتی که میخواهیم از این یوزر کنترل استفاده کنیم : <local:ctrl > //چیز هایی که میخواهیم بفرستیم تا در آن گرید به عنوان چیلدرن نمایش داده بشوند </local:ctrl> ​چطور باید این کارو رو انجام بدیم ؟ با تشکر.
  17. سلام رفتار ها باعث جلوگیری از تکرار یک کد در درون یک برنامه می شوند. فرض کنید ما میخواهیم که از دکمه های مختلفی داخل برنامه بتوانیم برنامه را ببندیم (از آن خارج شویم), بجای تکرار کد خروج یک بار آن را بصورت رفتار می نویسیم و همه جا از آن استفاده میکنیم. ابتدا نوگت پکیج زیر رو نصب میکنیم : 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 است قرار داشته باشد. با کلیک بر روی دکمه متد مورد نظر اجرا خواهد شد.
  18. سلام رفتار ها باعث جلوگیری از تکرار یک کد در درون یک برنامه می شوند. فرض کنید ما میخواهیم که از دکمه های مختلفی داخل برنامه بتوانیم برنامه را ببندیم (از آن خارج شویم), بجای تکرار کد خروج یک بار آن را بصورت رفتار می نویسیم و همه جا از آن استفاده میکنیم. ابتدا نوگت پکیج زیر رو نصب میکنیم : 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 صفحه مون دست هم نخورد!
  19. لطفاً آموزش ويديوى رو درست كنيد
  20. سلام؛ من می خوام از فونت یکان، برای نمایش متون در وب ویو برنامه استفاده کنم. متاسفانه از هر روشی رفتم، موفق نشدم. این کلاسی هست که برای این کار نوشتم: class WebContentHelper { public static string HtmlHeader() //adapt parametres { var head = new StringBuilder(); head.Append("<head>"); head.Append("<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1, user-scalable=0\"/>"); head.Append("<script type=\"text/javascript\">" + "document.documentElement.style.msScrollTranslation = 'vertical-to-horizontal';" + "</script>"); //horizontal scrolling //head.Append("<meta name=\"viewport\" content=\"width=720px\">"); head.Append("<style>"); head.Append("@font-face {" + "font-family: 'yekan'" + " url('/other/yekan.ttf') format('ttf');" + "}" + "h1, h2, h3, h4, h5, h6, p{font-family:yekan;}" + "p{font-size{15px;}" + "h1{font-size:25px;}"); head.Append("html { -ms-text-size-adjust:150%;}"); head.Append(string.Format("body {{background:white;color:black;font-size:15px;margin:20;padding:0;display: block;" + "height: 100%;" + "overflow-x: scroll;" + "position: relative;" + "width: 100%;" + "z-index: 0;}}" + "article{{column-fill: auto;column-gap: 80px;column-width: auto; column-height:100%; height:630px;" + "}}" + "img,p.object,iframe {{ max-width:100%; height:auto }}")); head.Append(string.Format("a {{color:blue}}")); head.Append("</style>"); // head.Append(NotifyScript); head.Append("</head>"); return head.ToString(); } public static string WrapHtml(string htmlSubString) { var html = new StringBuilder(); html.Append("<html>"); html.Append(HtmlHeader()); html.Append("<body><article class=\"content\">"); html.Append("<p dir=\"rtl\" align=\"right\">"); html.Append(htmlSubString); html.Append("</p>"); html.Append("</article></body>"); html.Append("</html>"); return html.ToString(); } } متن دلخواه رو باید به متد WrapHtml بدم و بعد در وب ویو به نمایش بذارم: string Content = WebContentHelper.WrapHtml(value); myView.NavigateToString(Content); نمیدونم مشکل چی هست!! اگر کسی عیبی در کدهای من می بینه بفرماید!!
  21. با سلام، من چطوری میتونم مک آدرس دستگاه رو بدست بیارم؟ زیاد گشتم ولی کدهایی که پیدا کردم کار نکردن. و آیا اجازه گرفتن مک آدرس دستگاه کاربر رو دارم؟ یعنی مایکروسافت ایراد نمیگیره؟
  22. سلام، کد XAML: <StackPanel Margin="10,40,0,0"> <TextBlock Text="Simple Camera" FontSize="20"/> <Button Name="myCamButton" Content="Start Camera" Height="40" Width="120" Click="myCamButton_Click"/> <Image Margin="0,20,0,0" Name="capturedImage" Height="300" Width="300"/> </StackPanel> فضاهای نامی مورد نیاز: using Windows.Media.Capture; using Windows.Storage; using Windows.Storage.Streams; using Windows.UI.Xaml.Media.Imaging; کد سی شارپ: async private void myCamButton_Click(object sender, RoutedEventArgs e) { CameraCaptureUI captureUI = new CameraCaptureUI(); captureUI.PhotoSettings.Format = CameraCaptureUIPhotoFormat.Jpeg; StorageFile photo = await captureUI.CaptureFileAsync(CameraCaptureUIMode.Photo); BitmapImage bitmapImage = new BitmapImage(); using (IRandomAccessStream fileStream = await photo.OpenAsync(FileAccessMode.Read)) { bitmapImage.SetSource(fileStream); } capturedImage.Source = bitmapImage; } نکته: برای استفاده از دوربین باید در فایل package.appxmanifest در تب Capabilities گزینه Microphone را تیک بزنید تا با خطای UnauthorizeAccess مواجه نشوید: پروژه نمونه پیوست شد. موفق باشید. Camera Sample.zip
  23. با سلام، من میخواستم به تراکنش های انجام شده در زرین پال دسترسی داشته باشم، چطوری میتونم با کمک وب سرویس RestFull API این کار رو کنم؟ با تشکر
  24. با سلام، سال نو همه اعضای وین نویس مبارک باشه. من چطوری میتونم متغیری تعریف کنم تا وقتی که کاربر برنامه رو پاک و دوباره نصب میکنه اون مقدار بمونه؟ با تشکر
  25. با سلام، چند تا سوال داشتم؛ - چطوری میتونم کاشی زنده ای بسازم که انیمیشن داشته باشه مثل کاشی زنده کورتانا؟ زیاد گشتم ولی پیدا نکردم. - چطوری میتونم توی Background اپم، یوزکنترلی رو به png تبدیل کنم و توی کاشی زنده نمایش بدم؟ یک پروژه نمونه کد پیدا کرده بودم ولی مخصوص قسمت جلویی بود و وقتی به بگ گراند میاورم ارورهای زیادی میاره. با تشکر