気まま研究所ブログ

ITとバイク、思ったことをてきとーに書きます。

WPF RichTextBoxのWordWrappingを無効化する

f:id:AonaSuzutsuki:20220115204922p:plain

お久しぶりです。めっきり更新が止まってしまいましたが、辛うじて生きています。
さて、今回はWPFネタで、RichTextBoxコントロールのWordWrapping (TextWrapping) を無効化してテキストに応じて横に伸びてもらいます。
RichTextBoxコントロールは標準でWordWrappingが有効になっていますが、TextBoxコントロールのように任意に有効/無効の切り替えはできません。
そこで、変更通知を受けた際にテキストから描写される横幅を計算し、それを割り当ててあげることでWordWrappingを無効化してみようと思います。
サンプル画像が呪いの文字みたいなのはランダム生成しただけなので深い意味は無いです。

なお、WPFのRichTextBoxは書き換えにプラスしてテキストに応じた計算が必要なので重さに拍車がかかります
なのでReadOnlyでの運用をオススメします
また、今回はテキストのみを想定しているので、画像などが含まれる場合は画像サイズ分を加算してあげるなど調整が必要です
一応サンプルには画像を入れて適用されないことを示しておきます。

続きを読む

IPv6 DS-Lite環境下で特定のポートのサーバを公開する

お久しぶりです。
最近めっきり更新してませんでしたが、しれっとホームページのほうに記事を追加していたのでそのリンクを掲載します。
内容は表題通りで、IPv6 DS-Lite環境下でサーバ環境を構築したときの話なので、IPv6でゲームサーバなどを建てたい方の参考になればと思います。
なお、DS-Liteに限った話ではないので、MAP-Eなどの方式でも対応できます。

kimamalab.azurewebsites.net

Windows 11をVMware Workstation Playerで動かしてみた レジストリ書き換え編

f:id:AonaSuzutsuki:20211006175055p:plain

以前こんな記事を書きましたが、よくよく調べたらバイパス方法がありました。
レジストリを書き換えるだけで要件チェックがバイパスできるのでWorkstation Playerでもインストールと動作が可能となります。
以前と同様に、公式の情報じゃないっぽいので自己責任でお願いします。

続きを読む

Windows 11をVMware Workstation Playerで動かしてみた

f:id:AonaSuzutsuki:20211006175055p:plain

表題のとおりですが、Workstation PlayerでWindows 11が動作したので備忘録的に置いておきます。
基本的にはHyper-Vで一度インストール後にWorkstation Playerで仮想HDDをロードさせて起動させるだけです。
VMware Toolsも問題なくインストールできてゲームも動いたのでGPUで検証したい場合でも問題なさそう。
なお、非公式な方法なので今後塞がれる可能性もありますし、結構面倒なのでおすすめしませんが、検証してみたい人は自己責任でお試しください。

続きを読む

非同期でファイルを複数ダウンロードしてみる

f:id:AonaSuzutsuki:20210810171253p:plain

内製アプリで100ファイルくらいダウンロードするのに3つ並列でダウンロードとかしたかったもののあんまりいい方法が無かったので備忘録がてら残しておきます。
基本的にはTaskを使って実装することになりますが、そのまま並列化してしまうとすごい数の並列ダウンロードになってしまうので工夫が必要となります。

続きを読む

ヘッダーでソート可能なListViewを実装してみる

お久しぶりです。
最近多忙とブログネタが無かったことが重なって更新がかなり空いてしまいましたが、中の人は普通に生きてます。
今回は久しぶりにC# WPFネタで、GridViewColumnを装備したListViewで各GridViewColumnをクリックするとそのカラムに応じてソートするプログラムを実装してみます。

続きを読む

UbuntuでBaGetを用いてNuGetサーバを構築する

f:id:AonaSuzutsuki:20210218175710p:plain

こんにちは。
長らく私のC#プロジェクトでは .Net Frameworkを用いており、外部依存ライブラリも直にdllを参照しておりました。
しかしながら、.Net Standardより複数のフレームワークでビルドが可能となり、そうすると依存ライブラリの管理が厄介になってきました。
そこで複数のフレームワークに対応させるためにNuGetを用いると良いのですが、プライベートなライブラリなだけあってあまりNuGet公式には公開したくないというのが本心です。
また、ローカルフィードもありますが、バージョンが重なるとその分nupkgファイルが増えてしまうのもあまりよくありません。
そこで、自宅のUbuntuサーバびNuGetサーバを構築しようというのが今回の内容です。

続きを読む