OITA: Oika's Information Technological Activities

@oika 情報技術的活動日誌。

VisualStudio XMLドキュメントコメントにIntelliSenseが効くようになってた

最近Visual Studio 2015 (Community)を使い始めて気づいた。 XMLドキュメントコメント内で型やメンバ名が補完されるようになってる。 これは地味に嬉しい。

札幌マイコンハンズオン+アイデアソンに参加 #MA11

Mashup Awards 11の連携イベントとしてマイコンのハンズオンイベントがあって 参加してきました。 【初心者向けハンズオン】ものづくりの秋が来る!札幌マイコンハンズオン+アイデアソン! #MA11 - Mashup Awardsコミュニティ _ Doorkeeper 最近IoT(モノの…

WPF BindingのPathにEnum型のインデクサを指定する

WPFはBindingに始まりBindingに終わるといっても 過言ではない。気がする。 今回はコレクション要素のバインドについて。

オープンソースカンファレンス2015 Hokkaidoに参加

今年も参加してきました。 オープンソースカンファレンス2015北海道。 遅くなってしまったけどざっと復習。

CLR/H 第94回「Meets IT and AED」に参加

CLR/H様の第94回勉強会に参加。 今回はWindows女子部様との共同開催で、テーマは「Meets IT and AED」。 AED(http://www.jhf.or.jp/aed/)をIT的視点で見直そうの会。 気づきの多い有意義なイベントでした。

WPF DataContextを設定した直後にBinding先で値を参照する

突然ですが、以下の出力結果はどうなるでしょう? //適当なボタン var button = new Button() { Width = 120, Height = 30 }; //IsEnabledに"Used"というパスをバインド button.SetBinding(Button.IsEnabledProperty, new Binding("Used")); //Usedプロパテ…

C# Bitly APIで短縮URLを取得する

ひとむかし前はURL短縮サービスといえばbit.lyだったと思うんだけど、 今はいろいろあるし、以前ほど利用機会はなくなったかな。 けどAmazonのURLをamzn.toにしてくれたりするのはbit.lyが良いですね。 というか何気にびっくりしたんだけど、bit.lyじゃなく…

VisualStudio ビルド時のファイルコピー先をプロジェクト階層と違う場所にする

VisualStudio(というかMSBuildなんだけど)では、 ソースファイルでない任意のプロジェクトファイルについて ソリューション エクスプローラーからビルドアクションを指定するときに 出力ディレクトリへのコピー有無を指定できる。 ただし、設定できるのは…

WPF 自作ValidationRuleのプロパティにバインディング

どうも、僕です。 ザムルってもうワクワクしますよね。 ということで、Qiita XAML Advent Calendar 2014 21日目のエントリーになります。

NUnit 列挙子でテストケースを量産する

Qiita C# Advent Calendar 2014 16日目のエントリーになります。 どうも、僕です。ワクワクするコード書いてますか? NUnitのテストがオールグリーンになる瞬間ってワクワクしますよね。 ということで、NUnitのTestCaseの作り方について。

C# 書式指定可能なログ出力クラスライブラリ「MeLogg」NuGet公開

おれおれロガーをNuGetで公開しましたよ。 ほぼ自分用だけどまあまあ使い勝手は良いのでなかろうか。 NuGet Gallery | MeLogg 1.0.0 どこにも宣伝してないのにすでに77もダウンロードされてる…。 全部日本語で書いてるのに、どういう層がダウンロードしてい…

WPF DataGridへのBindingに関する基本設計

なんか「wpf datagrid binding」で検索して以下の記事に流れてくる人が 異様に多いようだ。 [WPF]DataGridColumnへのバインディング しかし↑の記事ではあんまり一般的でないケースの話しか書いていなくて 申し訳ない気持ちになるので、たまにはちょっと入門…

釧路OSSコミュニティ札幌支部 勉強会#7に参加

釧路OSSコミュニティというオープンソースソフトウェアのコミュニティがありまして、 それの札幌支部という位置づけで少し前から勉強会が始まっておりまして、 参加させていただいております。 釧路ossコミュニティ札幌支部 (Facebookページ) 最初から扱うテ…

WPF 枠なしでリサイズ&ドラッグ移動可能なウィンドウを作る

実は知らなかったんすけど、.NET 4.5から標準搭載された WindowChromeクラスってのを使うと VisualStudio2012,2013みたいなボーダーなしのウィンドウアプリとか 全然楽ちんにできるのね。

Componentを継承した.csクラスファイルをVisualStudioで開くとデザイナで開こうとしてエラーになる

DBアクセス関係のクラスをテスト時にモックに差し替えたくて ADO.NET周りのクラスのモックを作っていたんですが、 ただの.csファイルなのに、ソリューションエクスプローラーから開こうとしたら デザイナで開こうとしてエラーになる現象に悩まされた。

リフレクションラッパー「Merror」NuGet公開

以前にも紹介したReflectionの自作ラッパーライブラリを NuGetギャラリーで公開しました。 NuGet Gallery Merror 1.0.1 ライブラリの詳細はこちら 非公開メンバへアクセスするためのReflectionラッパーライブラリ「Merror」公開 これ自体は別段たいしたもの…

C# 三項演算子をswitch文の代わりとして使用する

小ネタ。 三項演算子(条件演算子?)は可視性がいまいちだとかで嫌われてる気がするけど うまく使えば簡単なswitch文の代わりにだってなるし、むしろ見やすいと思うよ! という話。 まず、一般的によく使われるのは、↓こんなif文の代替にするケースか。 //i…

C# Clipboardクラスでクリップボードを監視するとSEHExceptionも発生する

前に「[C#]Clipboardクラスでクリップボードを監視するとComExceptionが発生する」って書いたんだけど、 ComExceptionを無視するようにして安心したのもつかの間、 今度はSEHExceptionってのが発生してきやがった@Windows 8.1(32bit)。

「汝は人狼なりや? for Windows desktop」v1.1の機能追加

自分で遊びたくて作ったデスクトップ用人狼アプリですが 思いのほか息長く遊んでいただけているようでうれしい限りです。 たまに思い出したように機能追加したりしてたんで、 まとめてちょこっとお知らせ。

WPF Windows8で実行された際にポップアップが左右逆に出るのを防ぐ

前回書いてた問題、解決策が見つかったぜはっはー。 さすがはstackoverflowやー。 [WPF]文字列が表示領域に入りきらないときにポップアップで全文を表示する ↑の記事の最後に書いたとおり、 WPFのPopUpとかToolTipのPlacementの設定と、 Windows8のタブレッ…

WPF 文字列が表示領域に入りきらないときにポップアップで全文を表示する

WPFでの実装サンプル。 アプリの画面上で表示領域に文字列が表示しきれない場合に オンマウスで全文がポップアップ表示されるやつ。 ↑こういうやつ。 ポップアップと書いたけど、実際の実装はToolTipを使いました。 xamlのほうがスマートに書けそうな部分も…

WPF MVVMでDataGridのソートを扱うためのクラス設計

MVVM的な設計の中でDataGridのソート機能をどのように扱うかという話。 WPFのDataGridには標準で列ヘッダクリックによるソートの機能があるんだけども これをコードでも制御したいときに、ItemsSourceの中身はViewModel側にあるんだけど Viewでやるの?どう…

オープンソースカンファレンス2014 Hokkaidoに参加

早いもので今年もOSCにいってきました。 土曜日の通例として寝坊したので、2限目から参加。 WordPressによる一歩進んだウェブサイト制作 WordBench札幌、田中さん。 このブログでも 一応WordPressを使っているけれど、(やめた) カスタム投稿作成やショート…

WPF DataGridColumnへのバインディング

DataGrid列のヘッダ表示内容とか列幅とか、Columnのプロパティに対して DataContext経由でViewModelのプロパティをバインドしようとすると 意外と一筋縄でいかないよという話。

C# 非公開メンバへアクセスするためのReflectionラッパーライブラリ「Merror」公開

privateなフィールドの値を外からいじったり、 protectedメソッドを外から使ったり、 privateコンストラクタしか持ってないクラスのインスタンスを作ったり、 そういう掟破りなことをするReflectionのメソッド群を いくらか直感的に使うためのラッパを作りま…

C# Clipboardクラスでクリップボードを監視するとComExceptionが発生する

先日公開したぺたこーだというソフトで クリップボードにコピーされた文字列をリアルタイムで画面表示する処理を 入れていたんだけど、似たようなツールを作って仕事で使っていたら、 ときどきComExceptionをはいて落ちることがあった。 クリップボード監視…

.NET 入れ子になった内部クラスの型をリフレクションで参照する

パブリックでないメンバやクラスにアクセスする手段として C#ではリフレクションのメソッド群が System.Reflection名前空間に用意されている。 たとえば、internalなクラスのprivateなメンバに 参照プロジェクトからアクセスするサンプルなこんな感じ。 アク…

Windows 8.1タブレットを買ってから必要だった設定とかメモ

Windows8.1タブレットのDell Venue 8 Proを買って、2か月くらい経ちました。 もともとWin8のOSを持ってなかったんで必要だなと思っていて、 どうせならおもちゃとタッチスクリーンのデバッグ機を兼ねてタブレットにするか! と思ったんだけども、結果どっち…

快速コード・ジェネレータ「ぺたこーだ」公開

Windows環境での開発用の、シンプルなコードジェネレータ 「ぺたこーだ」を公開します。フリーウェアです。

C# DataSet/DataTableの値をキャストするかParseするか

以前、DataRowとNullの微妙な関係というのを書いたけど、 相変わらず、型なしDataSetの値の扱いは気難しいという話。 まずは、int型のカラムを一つだけ持つDataTableを用意して、 それ用の新規DataRowを作って、適当な値を入れる。 var dt = new DataTable()…