2020-01-01から1年間の記事一覧
普段はプログラミングの記事を書いているエンジニアなのですが今日はプログラミング記事ではなく働く中でのお得な育休の取り方について紹介しようと思います。そのほかにもちょろっとして税金の豆知識とかを蛇足的につらつら書いてみます。 筆者プロフィール…
はじめに こんばんはー 。 ブログらしい記事?を書いてみたいと思い立ったので今日は普段業務で利用しているWPFについて掘り下げて書いてみようと思います。 今回は初学者向けの内容となりますので、十分知ってるよーって人は軽く流してください。笑 WPF ? …
はじめに 今日はBlazorに触れてみたいと思ったので記事を書いてみようと思います。 この記事では筆者が調べたWebアプリについての簡単な情報とRiderを使ってBlazorアプリケーションを起動するまでです。 筆者のスキル 業務でC#を利用している デスクトップア…
こんばんは。皆さん git クライアント何を使っていますか? 私は1年ほど前から Forkを使っています。 Mac版とWindows版があってDan Pristupovさん(Mac 版 ,Swift, Cocoa)と Tanya Pristupovaさん(Windows版 .NET , WPF)によって開発されています。 今日はWin…
元ネタはこちらのブログです。 (C#) List<T>からSpan<T>を引き抜いて高速化 - ネコのために鐘は鳴る 知らなかったのですがListのforeachはパフォーマンスが悪いみたいですね。 今回はブログに書いてある手法のパフォーマンスを実測して検証してみようと思います。 </t></t>…
こんばんは。 今日はC#のprivateメンバーを取得してみます。 private なメンバーと言えばReflectionですがいかんせん速度がネックです。 これを.NetCoreから使えるUnsafe.Asを使うとどこまで高速化できるか検証してみました。 今回用意するクラスはこんな感…
おはようございます。 今日は C# の非同期構文である async - await について細かい話は色んなブログとかにあったのですが自分用に完結に要点だけまとめます。 構文とか仕組みについてはこの記事では解説しません。 async void 禁止 コンストラクタでの非同…
概要 デモアプリ 実装 デモで利用したライブラリ こんにちは。 今日は仮想化についての話です。 WPF界隈で仮想化と検索するとVirtulizingStackPanelのようなものViewに関する記事などが多く出てくるとと思いますが 今さら使い方の説明を書いても面白みがない…
はじめに フォントファイルをそのまま使う 問題 Font Awesome WPF を使う 問題 YiSA.FontAwesome5.WPFを使う 自作版FontAwesomeコントロールの紹介 SVG から C#への Converterの作成 描画コントロール 最後に はじめに FontAweomeとは素晴らしいアイコンをフ…
お久しぶりです。久々にやる気になったので技術記事を書きます。 今日はWPFのアニメーションをカスタマイズしてちょっとリッチな表現ができる機能を紹介しようとおもいます。 入門記事やシンプルな組み込み型の記事についてはいろんなブログで紹介されていた…
ショートカットキー Ctrl + R + R シンボルリネーム Crtl + T シンボル検索・移動 Alt + Arrow タブ移動 Ctrl + Shift + F 全文検索 範囲選択 + Shift + { スコープ付与 Ctrl + K コメント化 Ctrl + U コメント化解除 Shift + F12 全参照検索 Ctrl + U + U …
画像をPDF化する方法を調べていたところ印刷機能(Microsoft Print to PDF)からPDFを作成する機能を見つけたのでこれをC#から呼び出しbat処理するためにC#で呼び出すサンプルです。 以下のサンプルではディレクトリを指定した場合は含まれる画像ファイルをま…
やりたいこと ListViewやItemsControlでデータを並べる際に interface にってViewを切り替えたい。 ItemsControlのDataTemplate解決の仕組み ListVIewやItemsControlが並べるデータのViewを指定する仕組みについて簡単に解説します。 ItemsControlではItemsS…
WPFでタイムライン風のコントロールを作ってみました。 1000 トラック x 4 クリップくらいは追加しても問題なく動きます。 目盛り数値はスクロール範囲外に描画していますが、スクロールバーの移動に追従して移動します。 各トラックに描画されているメモリ…
設定がない場合SystemFonts.MessageFontFamilyから取得したものを利用する デフォルト(規定)のTypeFaceを作成するには var typeface = new Typeface(SystemFonts.MessageFontFamily.Source); もしくは var typeface = new Typeface(SystemFonts.MessageFontF…
WPF にはUseLayoutRoundingというプロパティがあり、ルート要素 (MainWindow等)で trueにすると文字や絵が滲まなくなることは有名だが DrawingContextを使って独自に文字列を描画している場合は滲んでしまう。 この対策としてルート要素に下記Propertyを指定…
今日は DependencyProperty.SetValue()とDependencyPropertySetCurrentValue()の違いについて具体例を出して挙動の違いを見ていこうと思います。 「ViewModelの値とViewの値が違うんです。」みたいな相談をたまに受けるんですが大体原因はこれです。 まずはD…
Electron とは www.electronjs.org マルチプラットフォームの実行Framework mac , windows java script , html 5でアプリケーションが作成できる 開発に必要なもの Node.js VisualStudio Code ( あると便利 ) 余談ですが VSCodeは Electron製です。 VSCodeを…
概要 今日は値型と参照型、値のBox化について解説します。 まず、値型と参照型の違いについて解説し、そのあとにBox化についてを解説します。 1.値型と参照型の違い C# には値型と参照型があり値型は int , bool , float 等の組み込み型の他に struct がある…
TsNodeとは TsNodeとはWPFから扱えるグラフエディター(ノードエディター)風のアプリが作れるカスタムコントールライブラリです。 今回、より簡単にいろんな人が使えるようにTsNodeをnugetに公開しました。 まずは、画面表示するまでのチュートリアルをやり…
無限スクロールビューアーというものを作ってみました。 例によってノードエディターの付属品としての実装です。 ScrollViewerを継承するアプローチで実装をしようと思ったのですが、負の値がうまく扱えず断念。 仕方なくCustomControlとして実装しました。 …
旧式プロジェクトとは下記のような形式で、従来の.NET では一般的なものでした。 <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> </project>