ちょっと悩んだのでメモです。共有ターゲットコントラクトを実装していて、共有されたものをコレクションにためて保存するということをやっていたのですが、アプリケーションがスナップ表示中の時に共有ターゲットにしてデータを追加するとInvalidCastExceptionが起きて困ってました。エラーメッセージは以下のような感じです。 型 'System.Collections.Specialized.NotifyCollectionChangedEventHandler' の COM オブジェクトを クラス型 'System.Collections.Specialized.NotifyCollectionChangedEventHandler' にキャストできません。 COM コンポーネントを表す型のインターフェイスを COM コンポーネントを表さない型にキャストすることはできません。 ただし、基に
怒涛の GridView シリーズの続きです。Kindle Launcher ネタはひと区切りついたので MP4 Launcher で使っているテクニックの紹介です。とある理由で、MP4 ファイルがたくさんあると仮定して、Surface RT やら PC でそれを観賞しようとすると、真っ先に動くのはストアアプリの「ビデオ」アプリなんですが、このアプリ、いちいちフォルダを開いて動画ファイルを探しに行かないといけないし、そもそも前の状態を覚えておいてくれないので、シリーズものを連続で観賞するには非常に不便です。いきおい、従来の Windows Media Player を動かすという手もあるのですが、Surface のようなタブレットの場合、音量の調節とか「標準ビデオ」のほうがやりやすいんですよね。 以前、シリーズ毎のストアアプリを作ってみたものの、シリーズ毎に自作しなくてはいけなくて途中で面
最新版 最新版はこちらになります。 MVVM をリアクティブプログラミングで快適に ReactiveProperty オーバービュー 2020 年版 前編 - Qiita 本文 MVVM + リアクティブプログラミングの組み合わせを快適にするためのライブラリのReactiveProperty解説記事です。 github.com 以下のNuGetから入手できます。 www.nuget.org ReactivePropertyの特徴 ReactivePropertyは、MVVM + Rxを支援するための機能を有したライブラリです。以下のような機能を持っています。 ReactivePropertyクラス ReactiveCommandクラス ReactiveCollectionクラス ReadOnlyReactiveCollectionクラス INotifyPropertyChanged/INo
Aristea、VPNしてると繋がらなくなるな。— 牟田口大介 (@mutaguchi) 2015, 11月 21 @tmyt aristea Win10でVPNはって デバイスとコンテンツの検索 をONにすると通信できないっぽいんだけどなんだろ?— しおんぐ (@satoweb) 2015, 11月 23 らしいんだけどそんなあほな。と思って、指摘された状態にしてみた、ら。 この状態で、次のコードを動かしてみる。 private async void Page_Loaded(object sender, RoutedEventArgs e) { var client = new HttpClient(); var ret = await client.GetAsync(new Uri("https://www.google.com")); ret.ToString(); } するとこうだ
Windows 8向けストアアプリはデフォルトで320pxまで、Windows 8.1向けストアアプリは設定で320px幅にすることができるのですが、どうもWindows 10(1511) ようするにTH2でその設定が無視されるようになったようです。Aristeaが320pxにならない!と複数の方から報告をいただきました。 こまったのでどうするかっていうとリフレクションでどうにかします。 typeof(ApplicationView).GetRuntimeMethod("SetPreferredMinSize", new Type[] { typeof(Windows.Foundation.Size) }) ?.Invoke(ApplicationView.GetForCurrentView(), new object[] { new Windows.Foundation.Size(320
Windows 10をThreshold 2にアップデートしてからストアアプリの最小幅がPackage.appxmanifestの指定にかかわらず広くなりました.(スケーリングとか関係してそうな気がするけどよく分からない) これ以上幅が狭くならない… UWPアプリであればApplicationView.SetPreferredMinSizeメソッドを呼び出して最小サイズを指定すれば済みますが,これはWindows 10のAPIであるためUWP以前のWindows 8.1向けのアプリからは直接呼び出すことができません. そこで,リフレクションを利用して呼び出します. public MainPage() { InitializeComponent(); var v = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
WinRTでアプリの設定保存するには ApplicationData.Current.RoamingSettings.Values あたりに保存したりすると、勝手に同期されて便利だったりします。ちなみにRoamingSttingsをLocalSettingsに変えると同期されない設定が書けます。 これの何がいいって、XMLで自前で管理しなくていいところです。 で、ふだんはこのクラスをラップしてこんなのを使ってます。 これを、こんな感じで継承して使うと public class AppConfig : AppConfigBase<AppConfig> { public bool Checked1 { get { return GetValue(true); } set { SetValue(value); OnPropertyChanged(); } } [LocalValue] publi
※個人的な備忘録的なものです。 こっちとかこっちのが良くまとめられています。 ライブラリ制作者向けの内容になっているのでアプリ製作者にはあまり関係がないかもしれません なお、サンプルコードは全てWindowsストアアプリとして実行したものとします デッドロックで泣きを見ないように 下のようなライブラリのコードがあるとします gist11215254 このライブラリのDoAsyncは呼び出され方によってはデッドロックされてしまいます 下のコードがその例になります gist11215568 原因はTaskのWaitメソッドでロックしたスレッドに対して、HeavyWorkAsyncメソッドでワーカースレッドで作業していたTaskが元のUIスレッドに戻ろうとしたためです 図にすると以下のようになります Waitするなと思った方がいらっしゃるかもしれませんが、使用するのは自分ではなく他人のアプリ製作
(2016年3月追記) 2016年2月、Skodje さん作のコンポーネント GifImageSource が公開されました。Windows 10 UWP / Windows 8.1 / Windows Phone 8.1 で使えるライブラリです。 この一か月ほど 画像掲示板ブラウザ F10 に組み込んで使っていますが、Windows10 Desktop・Mobile双方で問題なく動いており、また今までのComponentにあったようなWebブラウザ再生とのタイミングのずれ等も見られません。 お勧めです。 ソースはこちら。使い方もこちらに書いてあります(簡単!)。 GifImageSource https://github.com/sskodje/GifImageSource プロジェクトへの追加はNuGetで行います。 GifImageSource 1.0.5 https://www.
[This article is for Windows 8.x and Windows Phone 8.x developers writing Windows Runtime apps. If you’re developing for Windows 10, see the latest documentation] Next page This guide helps developers who want to create a Windows Store business app using C#, XAML, the Windows Runtime, and development patterns such as Model-View-ViewModel and event aggregation. The guide comes with source code for
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 [一部の情報はリリース前の製品に関することであり、正式版がリリースされるまでに大幅に変更される可能性があります。本書に記載された情報について、Microsoft は明示または黙示を問わずいかなる保証をするものでもありません。] 移植プロセスを開始するとき、2 つの方法から選ぶことができます。1 つは、既にあるプロジェクト ファイル (アプリ パッケージ マニフェストなど) のコピーを編集する方法です。この方法については、ユニバーサル Windows プラットフォーム用アプリの開発に関するページに記載されているプロジェクト ファイルの更新に関する説明をご覧ください。もう 1 つのオプションは、Visual St
Windowsストアアプリ、つまるところの WinRT でNTPサーバーに接続して時刻を受信したい欲求があったので実装してみました。 NTPはおなじみの時刻同期に使用するプロトコルです。Windowsには標準でNTPクライアントが実装されているので、知らぬまま時刻同期されていたり、意識している人はNICTに接続するようにしたり、同期間隔を変更したりしていると思います。 ストアアプリでは、特にWindowsPhoneではシステム時刻を自由に設定できないのであまりNTPとつなげる意味はないですが、時計アプリを作りたいとか、OAuthなどで時刻を認証の一要素として使うなどで一時的な利用には十分つかえるはずです。 NTPについてのRFCは 原文はこちらに、有志による日本語訳はこちらにあります。 NTPはUDPを使って通信するのでソケット通信が必要です。ストアアプリ結構めんどくさいんすよ。 NTPで
id:kazuakix さんに書けって言われたので(謎 アプリ名をさくっと多言語対応しましょう Windows Phone Silverlight のときは、アプリ名を多言語化する場合ネイティブDLLを作ったりと面倒でしたが、WinRTベースのWindows Phoneアプリでは簡単です。 なお、コントロールやメッセージを多言語化する方法は様々な人が書いています。blog.ch3cooh.jp 実は、リソースファイルに入れたメッセージをアプリ名として設定することができます。 プロジェクトに、Stringsフォルダーを作り、その下に対応したい言語の名前(日本語であれば「ja-JP」や「ja」)のフォルダーを作ります。その中に「リソース ファイル (.resw)」を追加してください。名前はそのまま「Resources.resw」でOK。 既定の言語に対応したフォルダーがあれば、対応していない言
MADOSMAも出ました。ついでにおでコンも開催されています。これを機にWindows Phone 8.1のアプリを作ろうと考えている人も多いのではないかと思います。そこで個人的にお勧めするPrism.StoreAppsとReactivePropertyの組み合わせのとっかかりを書いてみようと思います。 なぜおすすめするのか MVVMパターンちっくにアプリを作るための土台が提供されているので最初から自分で色々用意しなくて済みます。PrismのWindows Phone 8.1版(ストアアプリ版)は、割とバランスのいいところに落ち着いていると思います。 ReactivePropertyをPrismに追加するとコードが冗長になりがちな部分を簡単に書けるようになるのでお勧めです。 Prism.StoreAppの導入 Windows Phone 8.1のプロジェクトは空のものから始めます。空のプロ
Windows Store App Advent Calendar 2013 - Qiita [キータ] の2日目のエントリです。 ストアアプリ開発(C#)といえばasyncメソッド!というくらい、ストアアプリをC#で開発していると非同期メソッドが大量に出てきます。時間のかかる可能性のあるAPIはすべて非同期APIのみ、ということなので仕方のないことです。で、asyncメソッドといえば、async voidは避けるべき100億の理由があると弊社では言い伝えられています。参照: neue cc - asyncの落とし穴Part3, async voidを避けるべき100億の理由 が、Visual Studio 2013でストアアプリのGridアプリケーションなどのテンプレートを使うと、画面遷移部分でasync voidが使われています。イベントハンドラ部分なのでやむを得ないような気もするもの
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Windows 8 と WebSocket プロトコル Kenny Kerr WebSocket プロトコルの目的は、接続を確立して要求と応答のペアを開始する全責任をクライアントが担う Web 環境で、双方向通信を実現することです。これにより、アプリケーションは TCP のメリットを Web に適した方法で活かすことができるようになります。WebSocket プロトコルは、2011 年 12 月にインターネット技術標準化委員会 (IETF) によって標準化されただけで、この記事の執筆時点では World Wide Web コンソーシアムでもいまだ検討中であることを考えると、Windows 8 でこの新しいイン
channel9.msdn.com ユーザーは待っていたドラッグアンドドロップ UWP App ファイルエクスプローラからのドラックアンドドロップアンドオープン https://t.co/dNrOyZhmEm— くコ:彡@衰退期 (@ideaki19) 2015, 5月 3 したサンプル <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" AllowDrop="True" DragOver="Grid_DragOver"Drop="Grid_Drop"> <TextBlock x:Name="AATextBlock" FontFamily="MS PGothic" Text="Drag & Drop Text File" VerticalAlignment="Center" Horizonta
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く