コードギャラリーのページが無くなり、新しいコードサンプルページが作成されています。Docs悲しいことに参考になるサンプルのリンクが消滅している状態です。便利ですよね!すっごいよく使います。かずきのBlog@hatena参照設定で追加してービルドするとーなにこれいらない・・・こんな感じの謎のフォルダーができちゃいます。言語リソース用のファイルです。皆さん大体こう思いますね。日本語しか使わないんだけど!?ていうかいらないんだけど!?削除したり、そもそもコピーされないようにしたりすることで回避しているようです。Overflowコピーされないようにする大本から削除してコピーされないようにするパターンを紹介します。コピー元になるファイルたちは以下の場所にインストールされます。SDKs\Expression\Blend\.NETFramework\v4.5\Libraries削除するのは戻せなくなるので、新しいフォルダに移動させていまいました。これでビルド時に不要な言語ファイルがコピーされなくなります。エラーも発生しないのでおすすめです。Selectorが関連付けられています。Studioのバージョンを起動します。調子が悪いとこんな画面が開きます選択も何も、空っぽなんですが!?OKを押しても反応がなく、キャンセルを押すと「開けませんでした。Studioをインストールしようとしたらこうなりました。Studioが起動しました。WindowsAPIはC#ではないので、エラーになったときにはC++的な形でエラーコードを返します。それをC#でラッピングしてあるので、C#でExceptionとしてエラーを取得する事ができます。C#のExceptionのメッセージだと大まかな分け方しかしていないので詳細に知りたい場合はHResultの値を調べます。置換されるファイルを削除できません。-2147023721}int型の表示でマイナスの値が表示されますが、所詮ビットデータなので2進数表示で確認します。上位下位として半分ずつにします。上位の0x8007はWin32エラーコードということを示しています。下位の0x0497がエラーの番号です。(0x497)置換されたファイルを削除できませんでした。置換されるファイルと置換ファイルの名前は、元のまま変更されていません。APIのエラーコードにたどり着くことができます。14:49広告を非表示にするもっと読むコメントを書く2018-10-31無理やりワンライナーC#こんな感じのときってあると思います。初期化のときにメソッドの形で書けます。);}初期化のときにメソッドの形で書けます。変更通知の合成はObservable.Merge<object>です。C#WPFでBindingする時にLivetを使っていたのですが、ReactivePropertyが面白そうだったのではじめました。Livetだと自分の好きなタイミングで変更通知イベントを出せていたのですが、Rxだとそのタイミングもロジックとして書く必要があります。全ての値がそろわないと通知が始まらないので「値がない場合~」とかはできません。消えてスッキリしました。全ての型が同じ場合は型推論でジェネリックの<T>部分を書かなくていいですが、複数の型が混ざる場合は<object>とすれば問題ありません。).ToReactiveCommand()複数の条件が複雑に混ざり合うような時にとても重宝します。2018/10/18ジェネリックのキャストの都合上IObservable<[struct]>がIObservable<object>にキャストできないので無理やり変換します。変換するのがデフォらしい。戻り値なしのvoid的なやつだそうです。C#少ないですがWindowsタブレット用のアプリでドラッグやタッチしっぱなしの操作がメインのときにタッチ長押しの右クリック機能が邪魔なときがあります。falseこんな感じです。変更しないと初期値が設定されない場合があるようです。味気ないので、雰囲気コード(実際には動かない)置いておきます。「ボタンを押す」→「ポップアップ出す」というデザインを使います。ポップアップの動作的にはこんな感じになると思います。ポップアップを表示させる。ポップアップ以外の場所をクリックするとポップアップが閉じる。ポップアップを表示させる。ボタンをクリックする。ボタンを押す時のMouseDownでポップアップが閉じる。MouseUPでポップアップが表示される。ポップアップ閉じてくれえええええはい。すっごい探しまして見つけました。Nameを指定しないといけませんが、仕方ないでしょう。Studioのデザイナーすごい便利ですよね!ただ、デザイン時には実行してほしくないコードが実行されてしまうときもあります。そんなときはコードに実行中かどうかの判定を記述しましょう。自分は以下のコードを使用しています。{//ここはデザイン時にしか通らない}他にも判定方法はあるようです。WPF自分でライブラリを作った時にXmlnsDefinitionを記述するとXamlで指定する名前空間に好きな文字を付けられます。"WpfApp1.View")]使うときは指定した名前空間を使用します。xmlns:wpfApp1="http://schemas.WpfApp1/"名前空間の指定に決まりはなく、好きな名前が付けられるようです。FormsWinFormの場合、WinProcからメッセージを受け取って処理を行うという処理をまとめたい場合にNativeWindowと便利になります。C#WebBrowserコントロールを使用すると、アプリケーション内でブラウザを使用することができます。Explorerです。互換性の問題とやらで標準ではIE7になります。最新のIEを使用するためにはレジストリに値を追加する必要があります。タッチ機能も無効になっているので有効にする必要があります。ローカルのファイルを読み込むとセキュリティ警告が出るので、ローカルのファイル読み込みを有効にします。);}}タッチ機能を有効にしないと、ライブラリによってはJavascriptのイベントが走らずに動かないものがあります。XAMLWPFではView(デザイン)の変更がわりと簡単に行えるが、少し特殊なことをしたいときにはどうにもならない場合がある。sygh.hatenadiary.jpControlTemplateを使った場合、指定したデザインに固定されてしまうため、Windowsのバージョンによって微妙に違うコントロールのデザインが違う部分が全く吸収できないのである。言えば、VisualStudioで「テンプレートの編集」→「コピーして編集」をした時のテンプレートが開発環境のOSに依存する。Win7でこの作業を行うと、Win8で表示した時にWin7のデザインで表示されるわけです。するかというと、上記サイトのようにテーマごとに地道にコードを書くしか無い感じです。いうところがWinFormに劣っている気がします。Packageを作成します。!自動的に参照を追加してくれてDLLファイルがコピーされるのですが、どうもパスが長いようです。保存しているソリューションのフォルダ場所によっては255文字を超えるためエラーになります。自動的に追加される中でこの2つが原因です。日)自分の覚書も兼ねて、C#についてだらだら書いていきます。変更通知の合成はObservable.Merge<object>です。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。