WindowsPhone7
先日公開したNotifyOnValidationErrorBehaviorクラスだが、複数のコントロールがそれぞれ違うBrushを使っていると対応できない。(テストしていないことがばればれだ)なので、Controlに対応するBrushを格納する辞書を利用するように修正してみた。 NotifyOnVa…
プログラミングWindows Phone (MSDNプログラミングシリーズ)作者: 高橋忍出版社/メーカー: 日経BP社発売日: 2011/10/06メディア: 単行本購入: 2人 クリック: 264回この商品を含むブログ (28件) を見る 昨日届いた。 日系BP社の技術書って「取りあえず出版し…
HTC HD7を購入して驚いたのはWindowsPhoneがステルスESS-IDのようなビーコン信号を出さない無線LANに接続できないことだった。※なので諦めて自宅の無線LANの設定を変えていたのだが、"Mango"つまりWindows Phone 7.5のRTMではとうに解消されているらしい。 W…
以下はまだメモ。後でもう少しちゃんとまとめる。INotifyDataErrorInfoはSilverlight 4で追加された新しいバリデーションメカニズムのためのインタフェースであり、それまでの標準的なバリデーションでは困難だった、・一度の検証で複数のエラー返すことがで…
せっかくなのでよく使いそうなビヘイビアをもう一つ書いてみた。 NotifyOnValidationErrorBehavior クラス public class NotifyOnValidationErrorBehavior : Behavior<FrameworkElement> { private static readonly Brush _errorBrush = new SolidColorBrush(Colors.Red); priv</frameworkelement>…
Blend4でプログラミングできる部品として使うビヘイビア。組込みのものを使うのは勿論良いのだが、作るのが非常に簡単なので自分の欲しいビヘイビアを思いついたらばんばん作って良いと思う。以下、ビヘイビアを作る手順。 System.Windows.Interactivity.Beh…
バリデート属性の型をPropertyDeclで指定して、それを元にプロパティに属性を記述する方法にはちょっと無理があった 例)必須で尚かつ、桁数が20桁以内であること [RequiredAttribute( ErrorMessage="名前は必須です" )] [StringLengthAttribute(20)] public …
さて属性ベースのバリデーションとだが、バリデーションに使う属性はSystem.ComponentModel.DataAnnotationsネームスペース下に既に存在しており、基本的なバリデーションはこれを利用することで殆ど事足りてしまうだろう。 System.ComponentModel.DataAnnot…
今までのおさらいになるが、T4 Templateと属性のおかげで、簡単な属性をメタデータとして与えることでフル装備のViewModelを簡単に自動生成できるようになった。 MyViewModel.cs (メタデータを設定する生成元) using System; using Mandarine.MVVM.Annotatio…
昨日はExpression Blend 4でMessageBoxを表示するコマンドを、組込みのビヘイビアである EventTriggerとそのアクションであるInvokeCommandActionを使って実装した。では、以下のようなよくある処理は同様の方法で可能だろうか。1. MessageBoxを表示する 2. …
System.Windows.MessageBoxはXAMLではサポートしていないので通常はコードビハインドから書く。 コードビハインドに書くMessageBox Page1.xaml.cs (抜粋) private void button_Click(object sender,RoutedEventArgs e) { MessageBoxResult result= MessageBo…
MVVMに直接は関係ないかもしれないが、GUIアプリケーションを書く場合にはスマートなバリデーションは絶対に必要だ。WindowsPhone7でのバリデーションは基本的には例外が投じられた際に発生するBindingValidationErrorイベントをコードビハインドなどで捕捉…
先日正式版となった"Windows Phone 7.5"だが、SDKも7.1で正式にRTWとなってアップされた。ダウンロード詳細 Windows Phone SDK 7.1 - Microsoft Download Center今までインストールしてあったSDK RC(日本語)をアンインストールする必要がある。なお、RCの時…
HTCの端末の1割のユーザに対してMangoの配布が開始されたらしい。Windows Phone 7.5 “Mango” update begins早速自宅でHTC HD7を接続してZune起動、デバイスの更新を確認してみた。 おお、ビルド7720ってことはRTM? でも "ISV beta"ってあるしどういうことだ…
Windows Phone 7でのXAMLページの遷移、通常であればPhoneApplicationPageのコンテキストで以下のように書くだろう。 PhoneApplicationPage.NavigationServiceプロパティを使う NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative)); これ…
自身で定義したViewModelにIDataErrorInfoを実装すると発生するTypeLoadExceptionだが、結局原因が分らない。そもそもSystem.ComponentModel.IDataErrorInfoは参照できるものの、元々WPFで使用してきたインタフェースでありWindows Phone 7のProfileでは使え…
ViewModel生成のテストをしているのだが、原因不明のエラーに悩まされている。 以下のXAMLにより直接ViewModelのインスタンスを生成してビューのDataContextにセットしているのだが、 Page1.xaml(抜粋) このXAMLをVisual Studio 2010のデザイナで読ませると…
WindowsPhone7の一般的なアプリケーションはSilverlightベースで開発するのだが、このSilverlightが、特にフレームワーク上のSilverlightとWPFの差が門外漢には良く解らない。WPF との互換性 - Silverlight SilverlightはWPFのサブセットだと理解していたの…
WPF/SilverlightはデータバインディングによりViewとViewModel、ViewModelとModel、互いの疎結合を保ったままでデータの同期を可能にしている。データバインディングそのものは古のWindowsFormsから実装されており知っているのだが、WPF/SilverlightはMVVMを…
DevQuizのスライドパズルは見事に玉砕した訳だが、その解答をC#で書くのには理由があった。 一つは暫く触っていなかった間にバージョンが上がってより複雑となったC#言語に慣れるためで、もう一つはVisual Studio 2010のプロファイリング機能を試して見たか…
どういうタイミングなのかまだ再現性が無いが、Windows Phone 7(SDK 7.1 RC)のエミュレータを起動すると以下のようなメッセージが出て止まってしまう現象が発生している。 該当のファイルを削除すればまた初期状態から起動できるのだが、何度か発生している…
XAMLが出た時は、「ああ、また違う語彙のXMLを覚えなきゃならないのか」と辟易した記憶がある。 そんな私だからExpression Blendが出た当初、ちょっと使ってみた所かなりバギーだったこともあって完全に見切ったツールだった。しかしバージョン4となった今使…
仕事場のPCのExpression Blend 4のバージョンだが、やはり指摘されている通り古いままだった。なので、早速リンクで紹介されているのと同様にExpression Blend 4の更新を実施した。 Windows Phone SDK Releace Candidateが公開されました。 « とある個人事業…
WPFアプリケーションは我々が実装設計で最もお世話になっているアーキテクチャ・パターンである「MVC(Model View Controler)」パターンから派生した、「MVVM(Model View Viwmodel」パターンで作ることが推奨されている。 MVVMパターンはビュー(V)とビューモ…
Windows phone SDK 7.1 RC1日本語版環境だが、無事上手く構築できた。調子にのって仕事場の環境も同様に構築したはずなのだが、インストールを終えて動作確認してみるとExpression Blend 4でWindows Phone 7のプロジェクトを開くとこのようにスキンとスタイ…
前回の"Beta2 Refresh"ではENU(英語版)だったが、今回はRC(Release Candidate)になり日本語版もインストールできるようになった。ダウンロード詳細 Windows Phone SDK 7.1 RC (リリース候補) - Microsoft download center毎度のことだが、以前のバージョンと…
例えばボタン(btnNavigate)が押下された際にPage2.xamlで構成されるページに遷移する場合、 this.btnNavigate.Click += (sender, e) => { NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative)); }; androidみたいにインテントの生成もActi…
新規プロジェクトテンプレートから作成したアプリケーションだと、スタートページはMainPage.xamlに設定されているが、以下のようにプロジェクトに複数のページが用意されている場合 このようなケースで明示的にスタートページを指定したい場合、プロジェク…
WindowsPhone7の開発周りを調べていると、.NET Framework、C#は勿論のことWPF(Windows Presentation Foundation)やSilverlightに言及した記事が多いことに気がつく。これは両技術をやってきた開発者であれば当たり前な話で、WindowsPhone7のアプリケーション…
先日紹介したMango以前のカメラ機能を利用するコードだが、実はそのままではデバッグが上手く動かなかった。 具体的には、CameraCaptureTask#showを実行してもカメラアプリが起動しないのだ。 CameraCaptureTask camera = new CameraCaptureTask(); camera.C…