C#
在出出在出出出出出出出出出出出出出出出出休出出 これ私の3月の出社・在宅状況なのですが、何日出社したっけと思いました。 スプレッドシートなので、COUNTIFを使えば一発でわかるものなんですが、指定の文字が何文字あるか? ってプログラムで書くと、どう…
C# のコードを書いていると、以下のようなコード支援が Convert to method group あー、なるほどね。と static void Main(string[] args) { var a = new List<int>() {1, 3, 4, 5}; var b = a.Select(i => IsOdd(i)).ToList(); } static bool IsOdd(int i) { retu</int>…
ListBoxのKeyDownイベントでSpaceキーを入力された時の判定をしようとしたのですが、出来ないようです。 なので、PreviewKeyDownイベントで行う必要があります。 Spaceキーのようなコントロールの操作に使う特別なキーについてはPreviewKeyDownで止まってし…
if ((modifiers & ModifierKeys.Alt) != ModifierKeys.None) { switch (e.Key) { case Key.Up: ShiftUpCommandToolStripMenuItem_Click(null, null); break; case Key.Down: ShiftDownCommandToolStripMenuItem_Click(null, null); break; } } 上記のような…
今の職場って、C#のコードを if (a==b) return; というのはまだしも if (a==b) return; とすることがあるようです。 個人的には一行でも if (a==b) { return; } と中括弧で囲って欲しいなぁと思ってました。 というのも中括弧で囲わない場合は、一行ならいい…
以下のようなOK/Cancelのコントロールを作成して各画面に配置していたのですが、OKといったらAlt+Oのショートカットキーでしょうと。 素直にXAMLでWindow.InputBindingsを指定して回るのも手間だなあということで、以下のようにしてみました。 public OkCanc…
WPFだけど、WinFormsが使いたい。 そういう時はあります。PictureBoxなんてImageより使い勝手がいいですし。 WinFormsなんだけど、コンテキストメニューはWPFのものを使いたいということはあります。 そうしないと古臭いUIが見え隠れしてしまうので <WindowsFormsHost> <WindowsFormsHost.ContextMenu> <ContextMenu x:Name="ContextMenu1" > <MenuItem Header="Menu item 1" /> <MenuItem Header="Menu item 2" /> </menuitem></menuitem></contextmenu></windowsformshost.contextmenu></windowsformshost>
ImageのMouseLeftButtonDownイベントが反応しないということがありました。 最初はImage Sourceがnullになっているので、それが関係しているかもなあ。 待てよ、他で実装した時は上手く言ったはず。 Gridで囲んでBackgroundを指定すると上手く機能しました。…
いちいちConverterクラスを作成しなくても、手軽にConverterの動きを行えるのがQuickConverterです。 github.com 毎回、ユースケースに合わせて Converterを作成してはキリがないので、このライブラリは優れ物ですね。 QuickConverterを使ったIntegerをbool…
MaterialDesignInXAMLはデフォルトの設定を利用すると紫になります。 この紫、濃いめでビビッドで、もう少し目に優しい色をと思ってしまいます。 そういう時、色を変えたい場合は、App.xamlの指定をPrimaryとAccentの色を変更します。 <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/materialdesigncolor.teal.xaml" /> </resourcedictionary>
ResharperでXAMLをCleanup Codeをする時にはXMLの設定も関係します。 www.jetbrains.com For XML-like languages (ASP.NET, XAML, and MSBuild), ReSharper uses XML code formatting preferences. ASP.NETやXAML,MSBuildなどXMLのような言語はXMLの設定も利…
Visual Studio 2019でWPFを開発していると、Binding Errorがわかりやすくなっていいですね。 2015の時は出力ウインドウにメッセージは出ていましたが、ColorOutputのアドオンを使っていないと見逃してしまっていたと思います。 ただ出力するだけではなく、重…
var Command = A.Select(a => a == 1).ToReactiveCommand<bool>(); といった方法で、特定条件の時のみIsEnabledなReactiveCommandを生成できますが、複数のReactivePropertyが絡む場合はどうすればいいのか? CombinLatestを使えばいいようです。 var Command = A.</bool>…
初歩的なことなのにど忘れしていたのがUserControlに対してBindingする方法。 例えば以下のようなUserControlがあったとします <Button Content="OK" Width="75" Margin="15 8 15 8" x:Name="ButtonOk"/> このButtonOkの Commandに対して親WindowからBindingしたい場合。 xaml.csでDependencyPropertyは以下のように追加 public stat</button>…
WPFでグラフを表示できるライブラリないかなーと探してました。 前職ではSciChartという有償のライブラリを使ってましたが、フリーではないよなーと思いつつ検索しました。 すると、以下のライブラリに出会いました。 swharden.com ドキュメントも充実してい…
レガシーコードを見ていたら、System.Xml.XmlDocumentのSelectSingleNodeの引数とするXPathで一箇所だけ/で始まっていない箇所がありました。 なくていいのかなと以下のようなコードを書いてみましたが、あってもなくてもいいみたいですね。 using System; u…
本当にちょっとしたことなのに忘れないようにメモ。 EncodingにはUTF8のプロパティがあります。 docs.microsoft.com なのに、私、Encoding.GetEncoding("UTF-8") として呼び出してました。 次からは、少しでも確実な方法を取るようにします。 using System.T…
レガシーコードを見ていたらDataTableのDataColumnなのですが、列名が大文字になったり、小文字になったりしている箇所がありました。 あれ、なんでこれ、動くんだ? 大文字と小文字区別しないわけなんてあるか? forums.asp.net どうやらDataTableのDataCol…
You can get MaterialDesignInXamlToolkit though Nuget. And MaterialDesignInXamlToolkit have many icons as PackIcon. github.com So, you don't need to get icons on another webpages I memo how to show Pack Icon on Button because I don't know i…
WinFormsではそのためのFormを用意してスプラッシュスクリーンを出しますが、WPFについては画像一つあれば簡単に設定できます。 docs.microsoft.com 画像をプロジェクトに追加し、プロパティからビルドアクションをSplashScreenに設定します。 ビルドアクシ…
昔作ったManagedDirectXのアプリケーションをWPFに移植したい。 Managed DirectXは、もう古の技術なのですが。 とはいえ、以下の記事を参考にさせていただきました。 blogs.wankuma.com WPFアプリケーションを作成します。 Managed DirectX関連のdllを参照に…
Releaseビルド時にはpdbを含めないようにというのは鉄則なのですが、よく忘れます。 設定方法 プロジェクトのプロパティ-ビルドを開き デバッグ情報を「なし」にしてOKです。 pdbなんてあってもいいんじゃない?なんでダメなの って、私は思ってました。 pdb…
WinFormsのプロジェクトを作成します。 参照を追加 System.Xamlを追加 WPFのウインドウの代わりにUserControlを追加 Windowが選べないのでUserControlで WPFは後で、.xaml、.xaml.cs共に継承元のUserControlをWindowに変更します。 WPFからWinFormsの呼び出…
結論から言うと、C#のInternalsVisibleToAttributeでは publicは従来通りにアクセス可能 internalへのアクセスが可能になる private,protectedはアクセス不可 通常、internal,private,protectedメソッドはアクセスできない。 using System.Runtime.CompilerS…
仕事で本番環境とソースの差分を調査したいということで作業をしていました。 一つのソリューションで全てのプロジェクトを管理しているわけでもないので、まず全てをビルドするバッチの作成に取り掛かりました。 循環参照も含まれるため、バッチを何周もし…
「Pythonゲームプログラミング 知っておきたい数学と物理の基本 」を読んでいたのですが、線分の交差判定の説明があり、こんな風に判定するんだと、驚きました。 最初見たとき、理解がついていかなかったのですが、似たような記事を読んでいくうちにわかって…
Burikaigiは北陸でやっている「ITに関することを勉強した後に富山のおいしいもの(鰤など)を食べる会」イベントです。 さすがに富山まで行って参加は難しいかなあと思っていたのですが、このご時世のおかげでオンラインの形で参加できました。 参加というか、…
デフォルト設定とは別にカスタム設定するショートカットキーです。 スタートアッププロジェクトに設定 開発者用コマンドプロンプト Macとペアリング Resharper_AltEnter Resharper_GoToType
以前、Vector3という便利なクラスが標準関数にあるという記事を投稿したのですが、行列についても同様なのかなと思ったのですが行列についてはなんともといったところです。 Matrix4x4クラスもありますが、私が扱いたい行列は4x4の行列同士の積ではなく、4x4…
ソースをコミットして、ふぅ〜と一息ついていたら、 タブと半角スペースが混在してませんか? というレビュー指摘がGitLabを通して挙がってきました。 ナニコレ〜!? GitLabを見ると、私の修正箇所だけインデントがズレています。 困ったことに、見ただけで…