2018-01-01から1年間の記事一覧
C#でファイル操作などのWindowsに関わる操作を行うと内部的にはWindows APIが呼ばれます。 WindowsAPIはC#ではないので、エラーになったときにはC++的な形でエラーコードを返します。 それをC#でラッピングしてあるので、C#でExceptionとしてエラーを取得す…
こんな感じのときってあると思います。 var result = ""; if( 条件1 ){ result = "1つ目"; }else if( 条件2 ){ result = "2つ目"; } この初期化めんどくさくない? var result = ""; 三項演算子 ただ、三項演算子で書くと「(◕‿‿◕)ワケガワカラナイヨ・・…
WPFでBindingする時にLivetを使っていたのですが、ReactivePropertyが面白そうだったのではじめました。 Livetだと自分の好きなタイミングで変更通知イベントを出せていたのですが、Rxだとそのタイミングもロジックとして書く必要があります。要は、Aプロパ…
少ないですがWindowsタブレット用のアプリでドラッグやタッチしっぱなしの操作がメインのときにタッチ長押しの右クリック機能が邪魔なときがあります。対象のXamlの添付プロパティにこれを使いするだけ Stylus.IsPressAndHoldEnabled = false こんな感じです…
2019/06/13 再度試してみたら問題なく初期値が設定されました SelectedItem で初期値を設定する場合には SelectedItem を先に設定してから ItemsSource を変更しないと初期値が設定されない場合があるようです。味気ないので、雰囲気コード(実際には動かな…
POPUP コントロール についてです。 よく 「ボタンを押す」→「ポップアップ出す」というデザインを使います。ポップアップの動作的にはこんな感じになると思います。 ボタンを押す。 ポップアップを表示させる。 ポップアップ以外の場所をクリックするとポッ…
Visual Studioのデザイナーすごい便利ですよね! ただ、デザイン時には実行してほしくないコードが実行されてしまうときもあります。そんなときはコードに実行中かどうかの判定を記述しましょう。 自分は以下のコードを使用しています。 if( System.Componen…
自分でライブラリを作った時にXmlnsDefinitionを記述するとXamlで指定する名前空間に好きな文字を付けられます。 AssemblyInfo.cs にでも記述しておくとわかりやすいかな? // [assembly: XmlnsDefinition("Xamlでの名前空間", "ライブラリのネームスペース"…
WinFormの場合、WinProcからメッセージを受け取って処理を行うという処理をまとめたい場合にNativeWindowと便利になります。 といっても下記URLからの情報なのでこれ以上は無いですマウスのホイールをコロコロした時にマウスオーバー(エンター?)している…
WebBrowserコントロールを使用すると、アプリケーション内でブラウザを使用することができます。 が、これはMicrosoftのコントロールなのでInternet Explorerです。 しかも、互換性の問題とやらで標準ではIE7になります。 最新のIEを使用するためにはレジス…
WPFではView(デザイン)の変更がわりと簡単に行えるが、少し特殊なことをしたいときにはどうにもならない場合がある。sygh.hatenadiary.jpControlTemplateを使った場合、指定したデザインに固定されてしまうため、Windowsのバージョンによって微妙に違うコ…