WPF

[WPF] 編集可能なComboBoxのTextが消える問題

編集可能なComboBox (IsEditable="True")のItemsSorceを変更したときに、ItemsSorceから現在の項目が消えた場合にTextも消滅してしまう問題です。 あくまでもComboBoxのメニュー(DropDown)は「選択もできるよ!」のつもりなのに、メニューから消えるとTe…

WPFでWindows Runtime API の Windows.winmd について

WPFでWindows 8、8.1、10 のAPIを呼ぶことができます。 デスクトップ アプリからのWinRT API利用 | ++C++; // 未確認飛行 C ブログWPFのプロジェクトで Windows.winmd を参照するとライブラリとして使えるようになります。 WPF などの .NET Framework のアプ…

MSDN コードギャラリーの提供終了

MSDN コードギャラリーのページが無くなり、新しいコードサンプルページが作成されています。 https://code.msdn.microsoft.com/ MSDN コード ギャラリーの提供終了 | Microsoft Docs新しいコードサンプルページ Browse code samples | Microsoft Docs悲しい…

[WPF] Expression Blend ライブラリのいらない言語リソースファイルたち

Expression Blend の Behavior 便利ですよね! すっごいよく使います。 System.Windows.Interactivity.dll Microsoft.Expression.Interactions.dllVisual Studioから使うExpression BlendのBehavior達 - かずきのBlog@hatena 参照設定で追加してー ビルドす…

[WPF] タッチ長押しで右クリックをやめる(□を表示させない)

少ないですがWindowsタブレット用のアプリでドラッグやタッチしっぱなしの操作がメインのときにタッチ長押しの右クリック機能が邪魔なときがあります。対象のXamlの添付プロパティにこれを使いするだけ Stylus.IsPressAndHoldEnabled = false こんな感じです…

[WPF] ComboBoxをItemsSourceとSelectedItemで扱う時の注意

2019/06/13 再度試してみたら問題なく初期値が設定されました SelectedItem で初期値を設定する場合には SelectedItem を先に設定してから ItemsSource を変更しないと初期値が設定されない場合があるようです。味気ないので、雰囲気コード(実際には動かな…

[WPF] ワンランク上のPOPUP コントロール

POPUP コントロール についてです。 よく 「ボタンを押す」→「ポップアップ出す」というデザインを使います。ポップアップの動作的にはこんな感じになると思います。 ボタンを押す。 ポップアップを表示させる。 ポップアップ以外の場所をクリックするとポッ…

Visual Studio デザインモードの判定

Visual Studioのデザイナーすごい便利ですよね! ただ、デザイン時には実行してほしくないコードが実行されてしまうときもあります。そんなときはコードに実行中かどうかの判定を記述しましょう。 自分は以下のコードを使用しています。 if( System.Componen…

[WPF] 自作ライブラリを使う時に、Xamlのxmlnsで指定する名前空間について

自分でライブラリを作った時にXmlnsDefinitionを記述するとXamlで指定する名前空間に好きな文字を付けられます。 AssemblyInfo.cs にでも記述しておくとわかりやすいかな? // [assembly: XmlnsDefinition("Xamlでの名前空間", "ライブラリのネームスペース"…

[WPF] WebBrowserコントロール

WebBrowserコントロールを使用すると、アプリケーション内でブラウザを使用することができます。 が、これはMicrosoftのコントロールなのでInternet Explorerです。 しかも、互換性の問題とやらで標準ではIE7になります。 最新のIEを使用するためにはレジス…

WPFのデザインについて

WPFではView(デザイン)の変更がわりと簡単に行えるが、少し特殊なことをしたいときにはどうにもならない場合がある。sygh.hatenadiary.jpControlTemplateを使った場合、指定したデザインに固定されてしまうため、Windowsのバージョンによって微妙に違うコ…

[WPF] TextBoxのキャレットが消える問題

TextBoxをScaleTransformで縮小するとキャレット(カーソルの場所の縦棒|)がたまに消えます。まあ、キャレットの1ドットも一緒に縮小されて消えちゃうんだろうなーと思いますが。。。解決方法はScaleTransformを使わないことです。 もしも縮小していたらI…

GitHub Microsoft

GitHubにMicrosoft公式のリポジトリがあります。 Microsoft · GitHubいろんなサンプルがあるので参考になりそうです。 GitHub - Microsoft/Windows-classic-samples: This repo contains samples that demonstrate the API used in Windows classic desktop …

StaticPropertyの変更通知

かねがねStaticなプロパティの変更通知ができないか困っておりました。ありました。 StaticPropertyChanged .Net 4.5からだそうで、英語読めないので見つけられませんでした。 よくわからないのですが、StaticPropertyChangedイベントを呼び出せばいいみたい…

[WPF] ItemsSource に List<String> を指定しても編集できませんので

List<String>の中身を軽く編集しようと思って、DataGridやListBoxのItemsSourceに指定したら動かないっ・・・こんなListを public List<String> Items { get { return _Items; } set { _Items = value; } } private List<string> _Items = new List<String> { "One", "Two", "Three" }; 簡単</string></string></string></string>…

[WPF] Bindign用のConverterの書き方

普通の書き方 だいたいConverterの使い方として説明されるのがこんな感じだと思います。 namespace Namespace.Converters { public class CustomConverter: IValueConverter { public object Convert( object value, Type targetType, object parameter, Cul…

クリック範囲、タッチ範囲、ダブルクリックの猶予時間について 補足

クリック範囲、タッチ範囲、ダブルクリックの猶予時間について - kitunechan’s blogの補足ですWPFでの話です。Windows Formsでは意味が無いかもしれないMouseDoubleClickイベントを使うとマウスの範囲で判定されてしまいます。 指でのダブルタッチをうまく認…

クリック範囲、タッチ範囲、ダブルクリックの猶予時間について

ダブルクリック範囲 System.Windows.Forms.SystemInformation.DoubleClickSize https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/SystemInformation.csタッチ範囲は System.Windows.Input.StylusLogic をリフ…

[WPF] Imageがぼやける問題

Image を使って画像を表示させていると等倍で表示しているはずなのにぼやけてしまいました。 SnapsToDevicePixels や UseLayoutRounding では直らなかったので途方に暮れていたらいいものがありました。blogs.msdn.microsoft.com 専用のコントロールを作って…

WPFで画像処理中にメモリが開放されず・・・

覚書程度に記載ですWPFで Canvas(正確にはVisualクラス?) を RenderTargetBitmap を使って大量に画像出力していたらエラー「メモリが足りません」 System.OutOfMemoryException: プログラムの実行を続行するための十分なメモリがありませんでした。はー悲…

Visual Studio 許すまじ

Visual Studio 2013 にて Showで作成した小ウインドウを閉じた時に親ウインドウが見えなくなってしまうという不思議な現象に見舞われました・・・ どうも原因は親ウインドウよりもVisual Studioがしゃしゃり出てきて前面に表示されるため、 親ウインドウはア…

定義済みコマンドを使っていこう

既に定義がされているコマンドがいくつかあります。 System.Windows.Input 名前空間 http://msdn.microsoft.com/ja-jp/library/system.windows.input.applicationcommands.aspx Open や Save など一般的なアプリケーションで有用なコマンドを持つComponentCo…

ウインドウの位置を保存・復元する

プログラムを再度起動した時に前回のウインドウ位置やサイズを保存・復元する方法です。 保存する情報は ・ウインドウのサイズ(Width,Height) ・ウインドウの位置(Location) ・ウインドウの状態(最大化、最小化) になります。また、起動した時に画面か…

リフレクション

最近WPFを触っています。 が、ほしいフィールドやプロパティがプライベートだったりして歯がゆい思いをよくしてます。気に入らないのでリフレクションで持ってきてしまいましょう。 .NET FOLLOWER » C#: How to set or get value of a private or internal p…

Blend for Visual Studio のデザイン表示について

WPFのデザイン(Xaml)表示がされなくなってしまう事がありました。 調べた結果、Blend for Visual Studio 2013 で .NET Framework 4.5 より上のバージョンを使用するとデザイン表示ができないようです。.NET Framework 4.5.1 .NET Framework 4.5.2 .NET Frame…