プログラム系統備忘録ブログ

記事中のコードは自己責任の下でご自由にどうぞ。

WPF

WPFのメニューとアクセスキーとIME状態

メニュー関連の前の記事: WPFでのメニューとキーボード操作時のフォーカス移動の話この記事ではContextMenuについてだけ記述していますが、Menuでも同様の現象が発生しますし同様の方法で対処可能です。

WPFでのメニューとキーボード操作時のフォーカス移動の話

メニュー関連の次の記事: WPFのメニューとアクセスキーとIME状態この記事の参考元: WPF menu tab navigation - Stack Overflow

WPFのListBoxでマウスドラッグ中の要素選択を無効にする方法

確認時の.NET Frameworkのバージョン: 4.6.00081 参考元: Disable ListBox Dragging Selection in Single SelectionMode?2015/11/03追記: ListBox Class の派生である ListView Class の場合でも、同様の方法で対策可能です。

WPFのControlTemplateとDataTemplateの違い、それとContentPresenter

2016/05/14: ContentTemplateを使用した場合とContentとして直接記述した場合のDataContextの違いを追記この記事では「コントロールとは何か」「データとは何か」については一切触れません。 代わりにVisual Treeに基づいて記述します。この記事で「子要素」…

Live Shapingを使ってコレクション要素を自動フィルタリングする例

19:00頃: 「一度に大量の要素を変更した場合の性能」を追記.NET Framework 4.5で ICollectionViewLiveShaping Interface が追加されました。このインターフェースを通じて、コレクション要素のグループ化/ソート/フィルタリングをリアルタイムに行えます。 …

TargetedTriggerActionの使用例

2015/09/22 xamlのサンプルをGridView(Header)RowPresenterを使用するものに変更、説明を追加。System.Windows.Interactivity.TargetedTriggerAction をWPFで使用するメモです。 確認時のExpression Blend SDKのDLLのバージョン System.Windows.Interactivit…

xamlでStaticResourceの結果にTypeConverterを適用する方法

2015/09/20 追記: 背景の説明に、xamlでの属性値の処理についての説明を追加 背景 MenuItem.InputGestureText と KeyBinding.Gesture に同じ文字列を二回記述したくない x:StaticにしてもStaticResourceにしてもマークアップ拡張を通す場合は、 XAML Syntax …

Visual Studio 2013から2015への乗り換えメモ

去る7/20にVS2015のRTMが公開されたので2013から移行した時のメモ書き記事です。Editionは2013・2015共にCommunity。

Recyclingを指定したWPFのTreeViewでShowLinesな表示にする

Recycling指定でも正常に動作する版の、完全なサンプルコードは最後に載せています。 確認環境 Visual Studio: Community 2013 プロジェクトの対象のフレームワーク: .NET Framework 4.5 PCにインストールしているフレームワーク: .NET Framework 4.5.51209 …

Livetでウィンドウが閉じられるときに確認ダイアログを出し、その応答で別の処理をしたりキャンセルしたりする方法

サンプルコードは最後に載せています。 2015/05/17 サンプルコードをコールバックを使用しない内容に差し替え。 確認環境 Visual Studio: Community 2013 Livet: 1.2.0 プロジェクトの対象のフレームワーク: .NET Framework 4.5 PCにインストールしているフ…

TreeViewのControlTemplateにScrollViewerを入れたらUIの仮想化が動かなかった話とその対処法

2015/04/13追記 Win7 64bitマシンで、プロジェクトの対象のフレームワークを.Net4.5として、マシンには.Net4.5.2をインストールした状態で、仮想化したTreeViewの要素をExpandしたときにスクロール位置が狂う(Expandした要素やその子供が範囲外に隠れる)現象…