Code for final

ふぁいなる向けのコード置き場です。すでにコードじゃないこともいっぱい。

WPFのDataGridで初期ソート(複数ソートキー)を設定する。

WPFのDataGridで初期ソート(複数ソートキー)を設定したくなったので方法を調べてみました。 まず思いついたのが、DataGridにバインドしているObservableCollectionを並び替えて設定する方法ですが、 これは並び替えるたびにイベントが発火して遅いようです。…

WordPress 4.4の自動更新後、必要なファイルをコピーしています…で止まった場合の対処。

新年早々、新たな気分で抱負でも書こうと思って、WordPressを更新したのが間違いでした。。 いつもなにげなく自動更新してすんなり成功しているので甘く見てました。 実行してしばらくするとファイルコピーのフェーズになるんですが、いつもそれなりにかかる…

クライアントからActive Directoryに接続してユーザとかグループの属性を確認する方法。

最近までActive Directory(AD)の連携テストをしていたのですが、1個のサーバをみんなで使うわけなので リモートデスクトップのセッション争奪戦になるわけです。 確認したかったのはADのユーザができているかとかなので、リモートデスクトップほどなんでもで…

GitHubに登録したリポジトリを新しいリポジトリに分割(切り出し)する際の手順。

GitHubにあげたリポジトリを分割する場合の手順を忘れそうなので以下にまとめます。 以下の例ではGitHubのFinalstreamCommonsからFinalstreamCommons.Coreを切り出すというストーリーです。 あと以下の手順はGitHubでなくても同じだと思います。 1.分割した…

Visual Studioでビルドすると参照コンポーネントがすべて見つからないと言われたときにすること。

nugetを含むプロジェクトをコピーして作ったりするとたまに以下の様なエラーに見舞われることがあります。 警告 17 参照コンポーネント 'System' が見つかりませんでした。 Systemとかは標準で入っているはずなのに見つからないわけがありません。 そして参…

Internet Explorer 11をオフラインでインストールする手順と気をつけること。

仕事でオフラインの環境に支給されたPCがWindows7(デフォルトはIE8)だったので、 開発しているWEBアプリのサポートバージョンのIE11にバージョンアップしようとしたときに ちょっとひっかかったので備忘録として残しておきます。 単純にオフラインインスト…

intra-martでajaxを使用する場合のサーバサイドロジックをシンプルに記述する方法。

intra-martのajax処理でサーバサイドのロジックの記述(スクリプト開発モデル)のベストプラクティスを考えてみました。 通常、スクリプト開発モデルの場合はhtmlとjsで1セットだと思いますが、ajaxの場合は画面がないのでhtmlを必要としません。 htmlに<imart type="string">を</imart>…

AppVeyorでGitHubプロジェクトと連携したときにする最低限の設定。

GitHubでプロジェクトを作成するごとにいつもAppVeyorの設定をいままで作ったものを見ながら 設定していたんですけど、毎回見ながらやるのがメンドウになったので最低限にやることをまとめておきます。 1.AppVeyorにログインして新しいプロジェクトと紐付け…

WPFでTextBlockの高さを文字数に合わせて自動で調整する。

WinFormと比べてWPFのいいところは可変のレイアウトが作りやすいことだと思います。 ただ、慣れてないと思うようにいかないことが多々あります。 グリッドの下にテキストを表示して選択中のものを表示するといったことを実装する際にちょっとハマったので記…

AppVeyorでNugetを参照するプロジェクトがビルドエラーになるとき

ExplorerWindowCleanerでAppVeyorを使っているのですが、 GitHubにあげてAppVeyorでビルドしたら以下のようにビルドエラーになりました。 warning MSB3245: Could not resolve this reference. Could not locate the assembly "MahApps.Metro, Version=1.1.2…

GitHubのReadme.mdに簡単にスクリーンショットを添付する方法。

GitHubのREADME.mdにスクリーンショットを添付したいと思いまして、ドラッグ&ドロップしても受け付けてくれませんでした。 WEBサーバにアップロードするのもいまいちだし、といろいろと調べていたらありました。 邪道っぽいですが、Issueの入力フォームを使…

GitHubでREADME.mdを編集したとき、AppVeyorでビルドされないようにする。

GitHubでREADME.mdを編集したとき、そのままだとAppVeyorのビルドが走ってしまいます。 README.mdってこまめに編集したりするとそのたびにビルド番号があがってなんかかっこ悪いです。 そういう場合、README.mdの編集後のコミットメッセージに[skip appveyor…

AppVeyorのビルド後にGitHubを自動リリースする。

GitHubのプロジェクトのリリースを自動化したくて、AppVeyorと連携できないかと調べたらありました。 以下に簡単な手順を記します。 1. AppVeyorのArtifactsを設定しておく。 GitHubのリリースからダウンロードできるようにArtifactsを設定しておく必要があ…

jQueryなしでもセレクタが使えることをはじめて知った日。

jQueryに慣れすぎてて昨日まで知りませんでした。 仕事でレガシーなWEBアプリのエンハンスを任されて、当然jQueryとか使えなくてdocument.getElementById()とdocument.getElementsByName()を駆使して 懐かしみながらコードを書いていたのですが、ふと調べ物…

DataGridでヘッダクリックのソート順を昇順→降順→なし→昇順にしたい。

DataGridのヘッダクリックのソートは便利です。(3回目) ただ、デフォルトだとソートの切替が昇順→降順→昇順のループになって元に戻せません。 初期ソート順が、第2ソートキーまである場合とかだと、ヘッダクリックで元の表示順に戻せないのは致命的です…

WPFでDataGridのソート後にSelectedIndexでデータを取得すると違うものがとれるとき。

WPFのDataGridはヘッダクリックのソートが実装されており、非常に便利なのですが、 一つ気をつけないとならないことがあります。 DataGridには通常、リストとかのItemsSourceをバインドすると思います。 そしてその選択行に対して何かしたいときに選択行を取…

ItemsControl(DataTemplate)内から親のDataContextを取得する。

ItemsControl(DataTemplate)内でBindingを行うとItem要素のBindingとなり、 ItemsControlの外とバインディングのターゲットが異なります。 そうなるともう、ItemsControl内では親(Window)のバインディングのターゲットは取得できないと思っていました。 でも…

XAMLでthisと同じことをする。

WPFを書いているとthisを取得したいときがくると思います。 コードを書いたほうがわかりやすいので以下に書きます。 以下のコードはTextBlockに自分自身のToolTipの値をテキスト表示しています。

XAMLで子から親の要素を取得する。

WPFを書いていると親の要素を取得したいときがくると思います。 その場合のやり方を書きます。 コードを書いたほうがわかりやすいので以下に書きます。 以下のコードはTextBlockに親であるWindowの幅をテキスト表示しています。

Windows 8.1のWindows UpdateでKB2919355を適用するとエラー(80070005)が出た場合にすること。(解決済み)

コードではないんですが、会社でえらくはまったので。 半年くらい前に会社で新しく買ったマシンにWindows 8.1をインストールしてWindows Updateしたらわけのわからないエラー(80070005 ACCESS DENIED)がでたとこから始まります。 そのときは時間がなかったの…

intra-mart Accel Platformの互換ページで部分的にAccelの画面を埋め込む。

今回はintra-martについてです。 特殊なケースかもしれないですが、先日、会社ではまったので。 v7.2からaccel platformに移行する場合、予算の都合上互換モードで動かす場合も少なくないと思います。 かくいう私のプロジェクトでもリスクと予算で互換でとい…

WPFのDataGridでカスタムソートを実装する

WPFのDataGridではデフォルトでヘッダクリックのソート機能が実装されます。 しかもデータの型がint型の場合は数値ソートになります。 ただ、数値以外も混じる場合はstring型にせざるを得ないと思います。そのstring型にすると文字列ソートになます。 文字列…

AppVeyorのビルド後にビルドしたものを参照しているライブラリも含めてzipにする

AppVeyorといえば、前にはまったことがあったのでその解決法を記録しておこうと思います。 AppVeyorにはビルド後にパッケージングできるArtifacts機能があるのですが、いかんせんUIが英語で先人の方たちが解説してくださっていてなんとなくつかめたのです…

Nugetのパッケージアップデート後にAppVeyorでビルドエラーとなった場合

MovselexでAppVeyorを使っているのですが、 Nugetのパッケージ(NLog)を3.2から4.0に、Visual StudioのNugetのパッケージの管理からアップデートしたら AppVeyorで以下のようにビルドエラーになるようになりました。 warning MSB3245: Could not resolve this…

WPFでPathの範囲のどこをクリックしてもイベントが発生するようにする

WPF

WPFでButtonとかにPathを使うとPathの線上じゃないとなぜかクリックが効かないです。 そういう場合は、以下のようにBorderで囲むとPathの範囲どこクリックしてもイベントが発生するようになります。 Pathは点と点をつないだものなので、枠がないと範囲がわか…