かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

2014-01-01から1年間の記事一覧

WinJSでクラスの継承

WinJS.Class.deriveを使って継承もできるんですね。 使い方は第一引数に継承、第二引数にコンストラクタ、第三引数にインスタンスメソッド、第四引数にスタティックメソッドになるみたいです。ということで、オブジェクト指向でイマイチイメージが使えないAn…

WinJSでクラスを混ぜる

WinJSのWinJS.Class.mixを使うとオブジェクトを混ぜ合わせることができるようになります。 犬と人のキメラ 名前を持って自己紹介出来るオブジェクトと、わんわんと鳴く犬を作ってmixで混ぜ合わせます。 // 自己紹介できる人 var Person = { name: { get: fun…

WinJSでコレクションのバインド

以下の内容を試した感じです。 テンプレートを使ってデータをバインドする方法 (HTML) - Windows app development コレクションの基本的なバインド方法 WinJSでバインド可能なオブジェクトの定義はいろんな方法があるみたいで、上記のリンクではWinJS.Bindin…

WinJSでのクラスの定義とWinJSでバインド可能なクラスの定義方法

WinJSには、クラスを定義するための関数があります。WinJS.Class.defineがそれです。 Personクラスの定義 WinJS.Class.define関数は、第一引数にコンストラクタを渡して、第二引数にインスタンスメソッドを渡して、第三引数にスタティックメソッドを渡します…

WinJSで双方向バインド

特に双方向バインドとかないんですね…。 単一方向のバインドと、コントロールのイベント拾ってバインドのソースに書き戻す。地道な作業です。フォームの入力項目の数が多いとだるい感じですね。 といってもポイントはあります。 WinJS.Binding.as WinJS.Bind…

WinJSで一方向データバインディング

追記 FirefoxだとinnerTextは動かないみたいなのでinnerHTMLを使うのがよさそうです。 データバインド WinJS引き続きやってます。次はデータバインディングです。 データバインディングには、WinJS.Binding.processAll(DOMの要素, データ)という形のメソッド…

WinJSの空のひな形

Firefox OSのFx0買ったんですよ。 HTML5のアプリ作りたいじゃないですか。ということで、どうせならMSの作ってるWinJSで作りたいじゃないですか?(そうでもない?)ということで、WinJSをVisual Studioで始める方法を書いてみます。 プロジェクトの作成 と…

WinRTのStreamとDataReader, DataWriterって使いにくいよね!

.NETのStream系に慣れてるせいか、とても癖があるように感じてしまうWinRTのStream。ちょっと使ってみたいと思います。 まず、ファイルにデータを書き込むところから。 ファイルに書き込む処理には便利な機能があって、書き込みをトランザクションとして扱っ…

WPF4.5入門のPDF

最後までまとめてアップしました。ひと段落。 WPF4.5入門 追記 SlideShare が有料プランにならないと PDF をダウンロードできなくなったようなので、ダウンロードできない人は以下の GitHub のリポジトリに原本のワードファイルがあるので、そちらをダウンロ…

WPF4.5入門 その62「まとめ」

Windows Presentation Foundation 4.5入門は、ひとまず終了です。WPFの入門書が少ないというか絶無な日本で少しでも、これからWPFをやろうと思うひとの助けになれば幸いです。 この中で使用しているコードは一部をのぞき以下のGitHubで管理しています。 http…

WPF4.5入門 その61「データバインディングを前提としたプログラミングモデル その2」

前回のアプリケーションはシンプルすぎてModelがありませんでしたが、今度はシンプルな四則演算アプリケーションでModelまで含んだコード例を示したいと思います。MVVMの基本クラスは、Prism.Mvvmのクラスを使用します。 Modelの作成 Modelはなるべくプレー…

C#でCSVを読み込もう CsvHelper編

C#

CSVを読み込むのにMicrosoft.VisualBasicを参照するのってなんかな…という人向けに。 CsvHelperというライブラリを見つけました。サイトはこちら。 JoshClose/CsvHelper · GitHub クラスにマップしてくれる(フィールド番号等を指定してとる方法もある)ので…

C#でCSVを読み込もう

C#

改行とかカンマとか入ってる本格的なCSVをパースしたいということで、以下のようなサンプルを用意しました。 データ的には以下のような感じです。 あいうえお,かきくけこ,さしすせそ "カンマ,入り","改行 入り",どうだろう 空の,,"セル""も""ある行" CSVを読…

WPF4.5入門 その60「データバインディングを前提としたプログラミングモデル」

WPFでは、強力なデータバインディングを活かした設計パターンとしてModel View ViewModelパターンというアプリケーションを設計するうえでの定石となる設計パターンがあります。Model View ViewModelパターンはMVVMパターンと略されます。MVVMパターンは、WP…

WPF4.5入門 その59「Behaviorの自作」

BehaviorやTriggerとActionを使用することで、簡単なロジックがRAD環境で構築できることがわかりました。ここでは、ありもののBehaviorを使うのではなく自作のBehaviorやTrigger/Actionを作成する方法について示します。Behaviorは、コードビハインドに何回…

WPF4.5入門 その58「Behavior」

WPFの標準部品ではないですが、Blend SDK for WPFに同梱されているBehaviorという部品があります。BlendはVisual Studioに同梱されているため、基本的に標準でついていると考えていいライブラリです。Behaviorは、TriggerとAction(WPFの同名の機能とは別物…

Selenium C#でファイルダイアログに挑む

Seleniumを使ってWebサイトを操作してるのですが、オシャレなサイトのファイルアップロードでinputタグを隠ぺいしていて、ファイルダイアログをどうしても出さないとファイルをアップロード出来ない作りになっていました。 普通のinputタグについては、簡単…

MS AzureのEvent Hubsの使い方

IoTでデータ集めるときはWebAPIに直接叩き込むんじゃなくて、間にEventHubsを挟むとスケールしやすくていいぜHAHAHA。ということを聞いたのでぐぐってみたが、コード例があまりにも少ない…!! まぁ英語読めばいいんですが、TOEICの点数が確率論の世界の人に…

WPFのDataGridの左上のボタンの色の変え方のサンプルコード

WPF

コードレシピにアップしました。 久々に書いてみてびっくりしたのは、コードのライセンスがApache2.0からMITがデフォルトになってたところですね。 As Isってことでよろしくお願いします。 WPFのDataGridの左上のボタンの色の変え方 in C#, XAML for Visual …

Windows 10 TPからWindows 8.1へリカバリする方法

Windows 8.1へのリカバリディスクとかがあるから余裕だろうと思ってた時期もありました。 コマンドプロンプトで起動して、DISKPARTしてクリアしてからリカバリしないとダメでした。 詳しい手順は以下のサイトが参考になります。 How to downgrade from windo…

WPFのDataGridの左上のボタンの色を変えたい

プロパティとかでさくっとはいかないものなんですね。 DataGridの左上のボタンは{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}なので、その名前のKeyを持ったButtonのStyleを定義してやればいけ…

#めとべや 東京 #6で発表してきました

アプリ作者特集ということで、滅多にアプリ作らない私ですが、某所で作ってるアプリについて話してきました。発表資料を公開します。 某rss収集アプリ from 一希 大田

Blend for Visual Studio 2015が事件です

先日DownloadできるようになったVisual Studio 2015 Previewですが、こいつのBlendがやばいです。どうやばいってVisual StudioのShellをベースにBlendが再構築されたみたいな感じになってます。具体的には以下のウィンドウが普通にある。 Solution Explorer …

Windows 8とかでMSアカウント使ってるとAzure仮想マシンにRDPで認証で蹴られる

MSCCでMSDN Subscription Ultimate民が量産されたところなので、Azure上に仮想マシン立ててスグにこわせる開発環境として使おうとしてる人もいると思います。 そこで、たまに表題の件でつまずくことがあります。 ログインのときに認証ではじかれた場合は以下…

WPF4.5入門 その57「コマンド」

WPFには、ICommandインターフェースというユーザーの操作を抽象化する仕組みがあります。ICommandインターフェースは、以下のように定義されています。 public interface ICommand { // コマンドを実行するかどうかに影響するような変更があった場合に発生し…

WPF4.5入門 その56「コレクションのバインディング」

データバインディングでは、ここまで説明してきた単一項目のデータバインディングの他に、コレクションをバインディングすることができます。コレクションのデータバインディングは、IEnumerableを実装したコレクションなら、どれでも対象になります。その中…

WPF4.5入門のPDFを更新しました

WPF4.5入門で書き続けてるWordファイルをPDF化してSlideShareにアップしました。 前回アップしたときよりも80ページちょい増えています。 WPF4.5入門 残りあと少しの予定ですが、とりあえず今の進捗ということで。

Prism for Windows Runtimeのライフサイクル

ここらへん押さえておかないと大変ですよね。 Prism for Windows Runtimeのライフサイクル in C# for Visual Studio 2013

ReactivePropertyのコレクション

正直自分しか使ってないんじゃないかというReadOnlyReactiveCollectionのサンプルをのっけました。 ReactivePropertyのコレクション in C# for Visual Studio 2013

SQLiteで最後に挿入したときに採番されたIDの値を取得する

auto incrementに設定してるIDの値をとりたい!ってことは往々にしてありますよね。そういうときは、こんなSQL発行すればいいみたいです。 select last_insert_rowid()