やる気駆動型エンジニアの備忘録

WPF(XAML+C#)の話題を中心に.NET/Android/CI やたまに趣味に関するブログです

(映画・感想)FEAR.INC -フィアー・インク-

2016年に公開された海外ホラー映画『FEAR.INC -フィアー・インク-』の感想&レビューです。 タイトル : FEAR.INC 監督 : ヴィンセント・マシャーレ 公開 : 2016年 ジャンル : ホラー 出演 ルーカス・ネフ(ジョー・フォスター) ケイトリン・ステイシー(リ…

(映画・感想)BIRD BOX -バード・ボックス-

NETFLIX オリジナル映画『BIRD BOX -バード・ボックス-』の感想&レビューです。 タイトル : BIRD BOX 監督 : スサンネ・ビア 公開 : 2018年 ジャンル : サスペンス/ヒューマンドラマ 出演 サンドラ・ブロック トレヴァンテ・ローズ ジョン・マルコヴィッチ…

(WPF)Windows Community Toolkit の MapControl を使ってみた

随分と昔(といっても今年だった気がする)にXAML Islands というキーワードを目にしたのですが、そのパッケージが OSS 化されて WPF でも使用できるとのことなので試しに使ってみました。 XAML Islands って? Windows のデスクトップ アプリケーション開発…

Jenkinsでインストーラーを作成する方法(Visual Studio 2017)

Jenkins でVisual Studio 2017 のInstaller Project を使用したインストーラーの自動ビルド方法について、これまでと若干異なる手順を踏む必要があったのでメモ ちなみにVisual Studio 215 までは以下の方法でインストーラーの作成が可能です↓↓↓↓↓ iyemon018…

(WPF)タッチキーボードを表示する -その2-

先日、WPF でタッチキーボードを表示する方法について書いたのですが、実際にアプリに組み込む場合はこの方法だけでは不足していたので、もうちょい実用的なコードとしてまとめてみます。 iyemon018.hatenablog.com 動作環境 前回と同じ 問題点 タッチキーボ…

(WPF)タッチキーボードを表示する

Windows10 + WPF でTextBox を選択したときにタッチキーボードが表示されない現象についてハマったのでメモ 動作環境 Windows 10 Home 1709 言語 : C# .NET Framework : 4.6 GUI アーキテクチャ : WPF タッチキーボードが表示されない 通常、Windows10 環境…

(WPF + MVVM)Material Design In XAML でモダンなダイアログを表示する

先日、業務でMaterial Design In XAML を使用したダイアログ表示機能を作ったのでメモ。 Material Design In XAML って? Google のAndroid OS に採用されているデザインシステムである"Materail Design" をMicrosoft のXAML で実現しますよというOSS プロダ…

Google Cloud Platform Vision API を.NET で使ってみた

先日、Google Cloud Platform のVision API を使用してOCR を試したんですが、思いのほか簡単にできたのでその使い方についてメモメモ。 ※なお、この記事は 2018年5月13日 時点の内容です。最新の情報とは異なる可能性がありますのでご注意ください。 Google…

(Android)APK をCI ツールで生成する方法メモ

Android アプリのAPK ファイルの生成をCI ツールを使用して自動化する際のメモです。 Android Studio だとメニューからAPK を生成できますが、例えばGit のmaster ブランチへpush されたらAPK を生成する といったことができれば、デプロイも簡単になります…

(Android)Lint 解析対象から特定のファイルを除外する方法

Android の開発中にデバッグ用のActivity やもう古くなって使用しないファイルをLint の解析対象外にしたいことがあります。 検索方法が間違っていたのか、調べても簡単には出てこなかったのでメモ。 開発環境 開発環境 : Android Studio 3.0 Compile Sdk Ve…

(Java)コレクションをプリミティブ型の配列に変換する方法

Java でコレクションをプリミティブ型の配列に変換する際に迷ったのでメモ 開発環境 Java 8 OS : Windows 10 Enterprise 1709 変換方法 まず、やりたいことは以下の通り。 // 仮にList<Integer> を作る。 List<Integer> target = new ArrayList<>(); for (int i=0; i<100000; i</integer></integer>…

(Jenkins)Android アプリのビルド・ユニットテスト・Lint を実行する

最近、Android アプリの開発をメインにやってます。 Android でもCI やりたいなーと思って色々調べて何とか最低限のジョブは実行できるようになったので、その内容についてメモ。 開発環境 Jenkins : 2.31.2 master : Windows Server 2012 R2 Slave : Window…

(Jenkins)Pipeline を使う

Jenkins のPipeline の使い方と環境設定についてメモ。 Pipeline について Jenkins のPipeline 機能が追加されてからもう2年近くが経ちますが、今の今までGroovy が分からなくて触ってなかったのですが、最近使って便利だったので使い方と環境設定について…

(Android)スクリーンのON/OFFを検出する

Android端末でスクリーンのON/OFFを検出する方法についてメモ。 開発環境 開発環境 : Android Studio 3.0 Compile Sdk Version : API26 Android8.0 (O) Min Sdk Version : API23 Android6.0 (Mashmallow) スクリーンのON/OFFを検出する 通常、スクリーンの…

(WPF)要素のスクリーンキャプチャーを保存するTriggerActionを作る

WPFで画面上の要素をキャプチャーして画像ファイルとして保存するような要件がワリとありますが、どうせならTriggerActionで作られたプロダクトは無いかなーと思って探してみたところ、すぐには見つからなかったので自作してみました。以下、今回の開発環境…

Visual Studioのリモートデバッグ方法メモ

Visual Studioのリモートデバッグ機能を初めて使ったのでメモ リモートデバッグ機能とは? リモートデバッグとは、例えば客先から受領している端末上で実行しているアセンブリに対してブレークポイントやステップ実行するための機能です。 詳細は以下のペー…

(Android)ログ出力ライブラリ"Timber"を使ってみる

Androidのログ出力ライブラリ"Timber"でログ出力機能を使ってみたのでメモ。 Timberについて github.comAPIリファレンスはこちら。 Timber 3.0.1 API 動作環境 Android Studio : 2.3.3 Compile Sdk Version : API26 Android8.0 (O) Min Sdk Version : API19 …

ErgoDoxのキーマップ変更時にハマった現象と回避策について

先日、ErgoDoxを購入してウキウキで使用していたんですが、キーマップを変更する際にコンパイル環境の構築やらビルドやらでハマったのでその内容をメモします。 まず、前提条件として私は Windowsユーザー 普段は開発環境はVisual Studioを使用している。 キ…

MediaPlayer でファイル再生時のエラー回避方法について

またもやWPF のMediaPlayer ネタです。 MediaPlayer のイベントにMediaFailed がありますが、このイベントで以下のようなメッセージが出力される場合があります。 HRESULT からの例外:0xC00D11BA これはWindows Media Player が出力している例外メッセージで…

MediaPlayer でファイル再生時のノイズ発生回避方法について

前回同様、WPF のMediaPlayer のお話です。 iyemon018.hatenablog.com今回は楽曲ファイルの読み込み時ではなく、再生時に発生するノイズについてです。 このノイズも必ず発生するものではなく、特定の条件の楽曲ファイルと環境が揃わなければ発生しません。 …

MediaPlayer でファイルオープン時のノイズ発生回避方法について

WPF でWAVE ファイルなどのメディアファイルを再生するとき、System.Windows.Media.MediaPlayer を使用していたのですが、複数ファイルを纏めてオープンしたときに何故か楽曲が少しだけ再生される現象が発生しました。 ここではその回避方法についてまとめて…

フォルダ内にあるMedia の再生時間を取得する(C#/WindowsAPICodePack)

特定のフォルダ内にあるメディア(MP3とかAVIとか)ファイルの再生時間を取得する方法のメモ 動作環境 OS : Windows 10 64bit .NET Framework : 4.6 Visual Studio : 2015 Enterprise WindowsAPICodePack は、以下の方法でインストールします。 www.nuget.or…

JR回数券と定期券の併用方法について

たまに使用する電車の乗車回数券ですが、定期券との併用方法をよく忘れるのでメモこの記事で紹介する内容はJR西日本(大阪環状線、JR神戸線)でのみ使用可能であることを確認しています。 全ての線区・区間が同じ仕組みかどうかはわかりませんのでご注意くだ…

Jenkins でxUnit + OpenCover を使ったカバレッジ集計・レポート表示方法について

少し前にJenkins でxUnit を使ったユニットテストの実行方法を試しました。 iyemon018.hatenablog.com今回は、Jenkins でxUnit でユニットテストを実行し、OpenCover を使ってカバレッジを集計・プロジェクトページに表示する方法についてメモします。 動作…

TFS でTF14061 が表示されたときの対処方法

TFS 使っているときにTF14061 なるエラーメッセージが表示されたときの事象と対処方法メモです。 現象 Visual Studio でTFS と接続しているときに、チーム エクスプローラー上に"予期しないファイルの終わりを検出しました。"というメッセージが表示される。…

WPF でVisualTree のヒット テストを実行する

VisualTreeHelper を使用すると特定のコントロールのVisualTree 要素を検索したりできることは知っていたのですが、今まで使用する機会は殆どありませんでした。 今回使用したときに躓いた箇所も含めて、その使用方法をメモします。以下、動作環境です。 OS …

ViewModelのプロパティ変更をトリガーにアニメーションする方法

WPF でViewModel のプロパティが変更されたときにStoryboard を開始する方法で少し躓いたのでメモ。 開発環境は以下の通り。 OS : Windows 10 64bit .NET Framework : 4.6 Visual Studio : 2017 GUIアーキテクチャ : WPF ViewModel のプロパティの変更をトリ…

(WPF) ウィンドウのバウンド エフェクトを無効化する方法

Windows10 でスクロールバーが表示されたListBox をタッチ操作したときにバウンドするようなUI 表現を無効化する方法についてメモします。タブレットでWindows10 を使用している際に、エクスプローラーなどで一覧表示している際に、領域外までスクロールする…

Windows10 + WPF でタッチ フィードバックを無効化する(※)

Windows10 上のWPF アプリケーションでタッチ フィードバックを無効化する方法にいてメモ※まず最初に、この記事で紹介する方法はあるパターン(後述)に対応できていません。 そのパターンでの対応方法が見つかれば追記 or あらたに記事を書きます。 タッチ …

Windows10でエッジ スワイプUI を無効化する方法

teratail にも質問したんですが、 teratail.com 結局回答が無かったので自力で調べました。エッジ スワイプってなぁにって言うと、タブレットなどでディスプレイの端から中央に向かってスワイプする操作のことです。 以下のページでアクションセンターを表示…