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

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

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

Setupインストーラーでインストール後に再起動する方法

デスクトップアプリでインストーラーからインストールが完了した後にOSを再起動する方法についてメモします。 動作環境 OS : Window 10 開発環境 : Visual Studio 2015 下準備 Visual Studio の拡張機能であるインストーラープロジェクトを追加します。Micro…

Windows Forms のChart を使う~StripLine:グラフの装飾~

Windows Forms で、StripLine を使うと色々便利だったのでメモ。 StripLineってなに? MSDN StripLineより抜粋 ストリップ ラインは、標準またはカスタムの間隔でグラフの背景に影を付ける水平または垂直の範囲です。 ストリップ ラインを使用することができ…

Windows Forms のChart を使う~SeriesChartType:グラフ系列種別~

最近Windows FormsのChartを使用する機会があったので、備忘録として使い方を残します。まず今回はChartにどんな種類のグラフが使用できるのか見ていきます。 Chartの系列は"Series"プロパティでアクセスすることができます。 この系列の種類を変えるには、C…

Visual Studio 2017を使ってみた

いよいよリリースされたVisual Studio 2017 さっそくPCにインストールしてみました。まぁ、ぶっちゃけどんな機能が追加されたのかは以下のページを参照したほうが手っ取り早いです。www.atmarkit.co.jp www.visualstudio.comリリースノートは以下から。 www.…

WPFでCarouselPanelを作る

前回、PathListBoxを使って遊んでみましたが、今回もPathListBoxを使ってみます。 iyemon018.hatenablog.comカルーセルパネル(Carousel Panel)は、左右にコンテンツをスライドするあれです。 まずはサンプルプログラムの動作を見てみます。このように複数の…

WPFでPathListBoxを使う

WPFのコントロールにPathListBoxというものがあります。 これは、通常のItemsControlとは少し異なる動作をします。 百聞は一見にしかず、まずは以下のイメージを御覧ください。単純な動作ではありますが他のList系コントロールとは明らかに動作が異なります…

JenkinsでxUnitを実行・レポート出力する方法

JenkinsでxUnitを実行したときに少しハマったのでメモメモ。 JenkinsでxUnitを使用している場合、MSTestと同じ方法では実行できません。 xUnitを使用するには、"xunit.runner.console"が必要です。 以下、実行環境です。 Jenkins : 2.31.2 .NET Framework : …

Jenkinsでインストーラーを作成する方法

Visual Studio 2012以降、昔ながらのインストーラセットアップ プロジェクトが拡張機能で使用することができます。 (Visual Studio 2010は、Install Shield一択だったのですがあれは何だったのか…) できればこのあたりもJenkinsで実行できれば、 開発リポ…

Jenkinsで独自NuGetパッケージの復元メモ

以前、Jenkinsを使用してNuGetパッケージを復元することができました。 iyemon018.hatenablog.com今回は独自に作成したNuGetパッケージの復元を行います。 例えば社内で管理しているライブラリの復元も行うことができます。まずは下準備1. Jenkins実行ユーザ…

Windows上のJenkinsを特定のユーザーで実行する

Windows上でJenkinsを起動しているときに実行しているユーザーを切り替える必要があったのでメモ。 環境は以下の通り。 OS : Windows Server 2012 R2 Jenkins : Ver.2.32.1 JenkinsはWindows上ではサービスで起動していて、各ジョブはOSのシステムが実行して…

JenkinsでNuGetパッケージの復元メモ

Jenkinsを使用してプロジェクトをビルドするとNuGetパッケージの復元が実行されなかったので、その解決方法をメモメモ 環境は以下の通り Jenkins:Ver.2.32.1 Visual Studio:2015 Enterprise Team Foundation Server:2012 SP4 Visual Studio 2015からはNuGet.…

TFS構成DBからプロジェクト コレクション名を列挙する

またまたTFSネタです。 TFSのDBをバックアップする上で、プロジェクト コレクション名が必要だったのですが、TFSが現在管理しているプロジェクト コレクション名を全て取得する方法って無いのかな―と調べていました。 結果から言うとそれっぽい情報は無かっ…

TFS構成ツールを使用してコレクションのアタッチ/デタッチを実行する方法

今日もTFSネタです。 TFSには”TfsConfig.exe"という構成ツールが含まれていますが、これを使用してコマンドラインからプロジェクト コレクションのアタッチ/デタッチ/削除を行うことができます。 アタッチ C:\Program Files\Microsoft Team Foundation Ser…

Team Foundation Serverデータベースの復元方法メモ

新年早々にサーバー機の新調に伴い、Team Foundation Serverのバックアップと復元を行ったのですが、かなり手こずったので手順をメモメモ オチ的には、「TFS 管理コンソールのバックアップ・復元機能は使用しないほうがいい」ということでした。 使用する環…

WPFのCalendarコントロールをカスタマイズ

WPFのCalendarコントロールは日付を選択する場合に便利ですが、標準ではサポートされていない機能があります。 例えば土、日、祝日の場合に文字色を変更するなど。 日本国内限定の使用とはいえ、地味に欲しい機能ではあります。 ただ、Calendarコントロール…

Staticなフィールドをバインドするには

WPF

WPFではViewのDataContextからプロパティをバインドしてデータの入出力ができますが、 staticフィールドのバインドも可能になっています。例えば、DateTime.Todayをバインドする場合は次のようになります。 <TextBlock Text="{Binding Source={x:Static system:DateTime.Today}, Mode=OneWay, StringFormat={}{0:yyyy/MM/dd(dddd)}, ConverterCulture=ja}" /> Binding Source= の部分をx:Static system:DateTi…</textblock>

OnRenderで再描画されない現象と対策

WPF

ハマったのでメモWPFアプリケーションであるコントロールをXamlではなくOnRenderメソッドをオーバーライドして自前で描画処理を実装していました。 ビルド、実行して問題なく動いていましたが、あることをするとOnRenderメソッドが呼ばれないことが発覚しま…

TimeSpan型のStringFormatの設定

WPF

WPF でTimeSpan 型のプロパティをバインドした際のStringFormat を忘れてハマったのでメモ。 DateTime 型と表記が異なる上にバインドの設定ウィンドウに出てこないので割と忘れます。 <TextBlock Text="{Binding TimeSpan, StringFormat={}{0:hh\\:mm\\:ss\\.fff}, ConverterCulture=ja-jP}" /> コロンなどの記号の前に'\'を2個入れましょう。ついでなのでDateTime </textblock>…

Visual Studio で便利な拡張機能 その4

Visual Studio であると便利(これがないと生きていけない)拡張機能を紹介します。 ここで紹介する拡張機能は、基本的にVisual Studio 2013/2015 Community 上で使用可能であることを確認しています。 Xaml Style ダウンロードページ visualstudiogallery.m…

Visual Studio で便利な拡張機能 その3

Visual Studio であると便利(これがないと生きていけない)拡張機能を紹介します。 ここで紹介する拡張機能は、基本的にVisual Studio 2013/2015 Community 上で使用可能であることを確認しています。Ghost Docダウンロードページ submain.com※画面右[Downl…

Visual Studio で便利な拡張機能 その2

Visual Studio であると便利(これがないと生きていけない)拡張機能を紹介します。 ここで紹介する拡張機能は、基本的にVisual Studio 2013/2015 Community 上で使用可能であることを確認しています。VSCommandsダウンロードページ visualstudiogallery.msd…

Visual Studio で便利な拡張機能 その1

Visual Studio であると便利(これがないと生きていけない)拡張機能を紹介します。 ここで紹介する拡張機能は、基本的にVisual Studio 2013/2015 Community 上で使用可能であることを確認しています。Productivity Power Toolsダウンロードページ visualstu…

WPFパフォーマンス改善その2.アニメーションのパフォーマンス改善策

WPF

ここではWPF のアニメーションの動作改善策について記述します。WPF のアニメーションは簡単に作成できる反面、最適化を実施しない場合だと無制限にCPU/GPU パワーを使用し続けます。 アニメーションにリソースを割かれると、それにともなって他のユーザー…

WPFパフォーマンス改善その1. 初期表示(描画)速度の改善策

WPF

初期表示(描画)速度の改善策 ここでは初期表示、つまり画面をインスタンス化してから描画されるまでの時間を短縮するための改善策や 画面の再描画処理時間の短縮方法を記述します。