nprogram’s blog

気ままに、プログラミングのトピックについて書いていきます

C#

Observerパターン [C#] [pull型]

Observerパターンとは あるオブジェクトの状態に依存するオブジェクトがあるとき、状態の変化をそれらのオブジェクトに依存せずに自動的に通知するパターン push型とpull型 Observerパターンでは,push型とpull型があります。違いは以下のとおり。 push型 : …

Observerパターン [C#] [push型]

Observerパターンとは あるオブジェクトの状態に依存するオブジェクトがあるとき、状態の変化をそれらのオブジェクトに依存せずに自動的に通知するパターン push型とpull型 Observerパターンでは,push型とpull型があります。違いは以下のとおり。 push型 : …

WPF DataTemplateの学習

はじめに WPF DataTemplateの学習は、以下のMicrosoftのサンプル(DataTemplatingIntro)とドキュメントを合わせて確認するのがいいと思います。 github.com データ テンプレートの概要 https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/data/data-temp…

WPFのよさそうなサンプル

https://msdn.microsoft.com/ja-jp/library/mt270964.aspx

MicrosoftのWPFのSampleの充実度が素晴らしい

はじめに WPFの学習はこれを見れば、把握できそう。 github.com

AngleSharpを用いて、Webスクレイピングをしましょう[AngleSharp]

C#

はじめに Webスクレイピングとは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。 ウェブ・クローラーあるいはウェブ・スパイダーとも呼ばれる。(wikipedia参照) Webスクレイピングに、Html Agility Packではなく、今回は、AngleSharp…

WPFで登録・削除可能なリストを作成する [C#][WPF][Prism][MVVM]

はじめに WPFで登録・削除可能なリストを作成します。 MVVM(Model・View・ViewModel)のプロジェクトにしました。 MVVMの形にするため、以下のようにフォルダ分けしています。 Modelsフォルダ ViewModelsフォルダ Viewsフォルダ Prismでは、以下の機能を使用…

SQLiteを用いて、WPFで登録・削除可能なリストを作成する[C#][WPF][Prism][MVVM][SQLite]

はじめに SQLiteを用いて、WPFで登録・削除可能なリストを作成します。 大量のデータを永続化させるには、データベースを用いると楽です。 SQLiteを用いてデータを永続化させる方法について説明したいと思います。 SQLiteを用いたサンプルアプリ外観 サンプ…

C#の勉強サイトまとめ

C#

MVVMな設計のTips~サービスを作ってVMの依存性を排除~ http://sourcechord.hatenablog.com/entry/2016/01/23/170753 codezine.jp [C# / WPF] 最新のC# 6.0でMVVMパターンを実装する qiita.com 上のRSSリーダーは、下記内容を使用しています。いきなり、こ…

C#からC++のDLLを呼び出す (構造体編) [C#]

C#

はじめに 以下の場合も、実現可能です。 C++のDLLのAPIに対して、構造体のデータを渡す場合 C++のDLLのAPIから、構造体のデータを受け取る場合 環境 IDE : Visual Studio Community 2017 (Version 15.7.1) コード #include <string> #ifdef __cplusplus #define DLLE</string>…

C#からC++のDLLを呼び出す [C#]

C#

はじめに 過去に作成したC++の関数(API)をC#から呼び出したい場合があると思います。 その場合は、C++のプロジェクトをDLLにして、C#からAPIを呼び出すことが可能です。 ただし、C#(マネージ・コード)の変数とC++(アンマネージ・コード)の変数は、 メモ…

WPFで画面遷移させよう [C#][WPF]

はじめに 以下のサイトがおすすめです。 参考サイト sourcechord.hatenablog.com WPFサンプル:Hyperlink http://gushwell.ldblog.jp/archives/52279481.html

ルーティングイベントの学習 [C#][WPF]

ルーティングイベントとは 観点を機能に置いた場合、イベントを生成したオブジェクト上だけでなく、要素ツリー内の複数のリスナー上でハンドラーを呼び出すことができる種類のイベント 観点を実装に置いた場合、ルーティング イベントは、RoutedEvent クラス…

WPFの依存関係プロパティが難しいので、学習中 [C#][WPF]

以下のページが参考になりそう。 DependencyProperty(依存関係プロパティ) tawamuredays.blog.fc2.com garafu.blogspot.jp

WPFで、自作イベントの作り方 [C#][WPF]

はじめに WPFで、自作イベントを作成する方法を調べてみました。 参考サイト 以下のサイトを参考にさせていただきました。 方法 : カスタム ルーティング イベントを作成する https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/advanced/how-to-create…

WPFで簡単なUserControlの作り方 [C#][WPF]

UserControlは便利 繰り返し使用するUI部品は、UserControlにして何度も使用できるようにしたほうが便利です。 例えば、MainWindow.xamlを以下のように記載した場合、同じような表記が繰り返し発生します。 これをUserControlに置き換えます。

ReactivePropertyが便利すぎてとても助かる [C#][WPF]

ReactivePropertyの使い方を学習していきます 画面 コード [MainWindowViewModel.cs] using Reactive.Bindings; using System; using System.Linq; using System.Reactive.Linq; namespace ReactivePropertySample { class MainWindowViewModel { public Rea…

簡単なWPFアプリケーションを作ります [C#][WPF][Prism][MVVM]

WPF/C#/Prismで、簡単なWPFアプリケーションを作ります 以下のサイトにも記載があるように、WPFアプリケーションでMVVMのアプリケーションを作成するのは難しいと思います。 そのため、PrismというMVVM基盤ライブラリを使用します。 qiita.com 本アプリケー…

Google Test導入方法 [VS2017] [Cmake] [C++]

環境について 以下の環境で、Google Testを使用してみます。 Windows 10 Visual Studio 2017 Community Cmake 3.10.2 C++ なお、Visual Studio 2017 バージョン 15.5 以降では、Google Test が C++ ワークロードでのデスクトップ開発の既定のコンポーネント…

UIスレッド以外から、UIスレッドのコレクションにアクセスする方法 [C#]

UIスレッド以外から、UIスレッドのコレクションにアクセスすると、エラーとなり、アクセスできない問題が発生します。 以下のサイトに、問題解決方法が記載してありました。 blog.okazuki.jp sourcechord.hatenablog.com

WPFで登録と削除が可能なリストを作成します [C#][WPF]

C#

はじめに ObservableCollectionを使用して、登録と削除が可能なリストを持つアプリを作成します。 アプリの見た目 アプリには、登録、削除、全削除ボタンがあります。 名前と連絡先に文字列を入れて登録ボタンを押すと、データが登録されます。 リストの項目…

WPFでGridコントロール [C#][WPF]

C#

Gridコントロール Gridコントロールを使えば、コントロールの配置を簡単に決めることできます。 3行、3列のGridを作成する場合は以下のように指定します。

ObservableCollectionを使用した簡単なバインディング [C#][WPF]

C#

ObservableCollectionを使用すれば、簡単にバインディングを実現できます。 以下のサイトを参考にさせていただきました。 www.youtube.com 実行結果 コード [Palyer.cs] namespace WpfApp3 { public class Player { public int Id { get; set; } public stri…

WPF コレクションのデータバインディングを学習します [C#][WPF]

C#

以下のページを参考にして、WPFのコレクションのデータバインディングを学習していきます。 http://technical.live-on.net/archives/1987 inuinuwanwanilovecat.seesaa.net

WPF ICommand学習 [C#][WPF]

C#

よいページが見つかったので、紹介させていただきたいと思います。 WPFサンプル:ICommand インターフーイスを実装してカスタムコマンドを作成する http://gushwell.ldblog.jp/archives/52321430.html yoshinorin.net

INotifyPropertyChangedを使った簡単なWPFサンプル例 (MVVMパターンに修正) [C#][WPF]

C#

サンプル説明 前回のコードをMVVMに直します。アプリ表示は、同一になります。 プロジェクト構成では、前回と比較して、ViewModel.csファイルを追加しました。 コード修正が入るファイルは、MainWindow.xaml.csファイルとMainWindow.xamlです。 前回と比較し…

INotifyPropertyChangedを使った簡単なWPFサンプル例 [C#][WPF]

C#

サンプルコードについて INotifyPropertyChangedを使って、プロパティ値が変更されたことをViewに通知するのみのサンプルコードです。 簡単化するため、ViewとModelしかありません。 BindableBaseクラスは、INotifyPropertyChangedインタフェースを継承して…

簡単なWPFアプリケーションを作成しましょう (株価を取得するアプリ) [C#][WPF]

C#

はじめに 簡単なWPFサンプルアプリケーションを作成します。 本サンプルでは、Html Agility Packというライブラリを使用するため、あらかじめプロジェクトにインストールしてください。 方法は以下のページにあります。 www.atmarkit.co.jp プロジェクト名は…

C#で、非同期処理学習 [C#]

C#

非同期処理を使う必要性が発生したので、学習用のサイトを記録しておきます。 ufcpp.net www.kekyo.net

C# オブジェクト指向設計の学習 [C#]

C#

メソッドでパラメータを渡すのではなく、オブジェクト生成時に必要なデータをすべて準備する データと、そのデータを使うロジックは、一つのクラスにまとめる 一つ一つのオブジェクトの役割は単純にする 複雑な処理は、オブジェクトを組み合わせて実現する