WPF– category –
WPFプログラミングについて
-
JSONへの保存
前回はXMLでの保存の方法をお伝えしましたが、今回はJsonでの保存です。 個人的には断然Jsonの方がおすすめです。 理由として、PointやRectなどその型のまま保存することが可能な点です。クラスもそのまま保存できます。読み込みも同様です。Listなどの配... -
XMLで同じタグ名で複数の要素の保存と読込
public override void LoadData(XmlDocument doc, XmlNode node) { var objectsNodes = node.SelectNodes("xxxs/xxx"); if (objectsNodes == null) { return; } foreach (XmlNode objectNode in objectsNodes) { xxx x = new xxx(); x.LoadData(doc, objec... -
データバインドを使ってコントロールの有効無効
INotifyPropertyChangedを継承したクラスを作成し、Windowのデータコンテキストに割り当てることで自動的にフラグの状況に応じて勝手にコントロールの状態が変更できる。 <RadioButton x:Name="xxx" Content="aaa" HorizontalAlignment="Left" Margin="... -
スクロールバー
<ScrollViewer x:Name="Scrollbar" Margin="123,80,58,51" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> <Canvas x:Name="DrawCanvas" Background="LightGray" HorizontalAlignment ="Stretch" VerticalAlignment ="S... -
簡単なUndo Redo
もっとも簡単なUndo,Redo。 xmlをstring型でStackしていく方法で、速度の問題はこれからだが基本これで大丈夫。 private readonly Stack<string> _undo = new(); // 状態の履歴(最新がトップ) private readonly Stack<string> _redo = new(); // ... -
XMLの使い方
案外一つの要素を取り出すのに手数がいるので便利ツールを作ってみた。 XMLは使い方がいろいろっぽく何か正解かは正直分からない。 namespace Xml_Tools{ internal class Xml { public static T? GetValue(XmlDocument doc, XmlNode node, string name) wh... -
WPFでメモリビットマップ
以下のやり方で、C++のメモリビットマップ、メモリDCのやり方ができそうだ。 WPFはヒットテストをCanvasへのオブジェクト追加することで簡単に実装できるようだが、お絵描きではなく画像処理においては実際のピクセル単位で解析する際には使えないような気... -
WPFでメモリビットマップ
様々な画像やオブジェクトを扱うクラスを作成中なのですが、C++で言うところのメモリビットマップ的な考えが無いような気がする。あるウィンドウの中に描画する際にはCanvasが定石っぽいが、それで合っているのだろうか。なんかCanvasってお絵描きするため... -
WPF
矢印など描画したオブジェクトの移動の部分を作るのは結構大変かもしれない。 geometryで書くしかないのだろうか。 CanvasへAddしてHitTestを自動的に取得する方法もあるが、沢山オブジェクト描画すると遅くなるらしい。 なので複数のオブジェクトをまとめ...
1