ユーザーコントロール(WPF)のDLLを作ってアプリで使うまでの手順メモ
ユーザーコントロールのDLLを作ってアプリで使うまでの手順メモ
いつものように間違っていたり冗長なところがあると思うけどできたので書いておく
字ばっかりで絵がないとわかんないよのね
ユーザーコントロールのDLLを作成するまで
作ったユーザーコントロールのDLLを他のアプリで使うまで
作成するユーザーコントロールは
グラデーション画像を表示して、画像クリックでクリックした座標と色を表示する
1.WPFアプリのプロジェクトを新規作成
20180329_ユーザーコントロール作成テスト
にした
2.ソリューションにクラスライブラリの新規プロジェクトを追加
メニューのファイル→追加→新しいプロジェクト
または
ソリューションエクスプローラーのソリューションを右クリック→追加→新しいプロジェクト
名前は
ClassLibrary1ColorPicker
にした
ソリューションにClassLibrary1ColorPickerが追加されている
3.追加したクラスライブラリにユーザーコントロールを新規追加
メニューの追加→ユーザーコントロール
名前は
ColorPicker.xaml
にした
ソリューションエクスプローラーで確認すると
ClassLibrary1ColorPickerの中にColorPicker.xamlが追加されている
4.ユーザーコントロール作成、ビルド
10~14行目が書き加えたところ
Gridの中にStackPanelを追加、その中にTextBlockとBorder、Imageコントロールを追加
これで他のButtonやTextBlockみたいにMainWindowに追加できるようになったのでダブルクリックやドラッグアンドドロップでMainWindowに追加してみる
デザイン画面にユーザーコントロールが表示されて
XAMLの7行目と12行目が追加変更された
7行目がよくわかんない、こういうもんなんだなあって思う程度
でもこれでできたっぽいので実行(デバッグ開始)してみると
ユーザーコントロールが表示されている、できてる
確認できたのでデバッグは一旦終了して、機能を追加していく、画像を表示とかクリックした場所の色を表示するとかの動作
6.ユーザーコントロールに機能を追加していく
メニューのコードの表示
または
ColorPicker.xamlを表示した状態でF7キー
いつものWPFのアプリのときとほとんど同じ感じ
以上を書いたので
グラデーション画像が表示されている!でも小さくて表示しきれていないので
14行目を書き換えて
全部表示された
名前の変更、別にしなくてもいいけど
7行目にある
ClassLibrary1ColorPicker
を
myColorPicker
に変更してみる
7行目にある
ClassLibrary1ColorPickerを右クリック、メニューの名前の変更で
myColorPickerに変更すると14行目の名前のところも同時に変更してくれる
実行(デバッグ開始)してみる
表示された!
クリックしてみると
クリックした場所の座標がWindow上部左上のTextBlockに、
色が上部中央のBorderに表示された
これで目的の動作はできたので完成!
7.ユーザーコントロール完成、Releaseでビルド
なんかエラー出るけど気にしないで続行
けど32bitでいいならAny CPUのままでもいいのかも
リビルドすれば正常に表示されるってあるから
ビルドすると
これでできたみたいなのでReleaseをDebugに、x64をAny CPUに戻しておく
DLLファイルができたので確認してみる
場所は
…\20180329_ユーザーコントロール作成テスト\ClassLibrary1ColorPicker\bin\Release\ClassLibrary1ColorPicker.dll
次はこれを使うまで
1.WPFアプリのプロジェクトを新規作成
20180330_ユーザーコントロールのDLLを使う
にした
2.プロジェクトの参照に作ったユーザーコントロールのDLLを追加
メニューの参照の追加で参照マネージャーを開いて
参照するファイルの選択画面でさっき作ったユーザーコントロールのDLLファイルを選択して追加ボタン
適当なところで右クリック
メニューからアイテムの選択
読み込みに少し時間かかる
この辺はさっきのソリューションエクスプローラーの参照の追加と同じ感じ
これでツールボックスからドラッグアンドドロップかダブルクリックでMainWindowに追加できる
MainWindowに追加したところ
動いた!
これでできたわけだけど
この方法が正しいのかはわからない、うまくいった手順を記録しただけ
気になったのが作ったユーザーコントロールのDLLを他のアプリで使う時に同じような参照の追加を2回するところ
どちらか1個でいいんじゃないと思って試しにソリューションエクスプローラーの参照からDLLを削除してみたら
ツールボックスの方を見ていると
今度は逆にツールボックスの方を削除してみる
ソリューションエクスプローラーの参照は追加し直してから
デバッグ開始してみると普通に動いた
ってことはツールボックスへのアイテムの選択での追加は必要じゃないみたい
関連記事
2018/04/06は1週間後
カラーピッカーのdll(ライブラリ)作った、WPFユーザーコントロール ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15447603.html
2018/04/03、テストじゃなくて実際に使うものを作ってみた
WindowsFormのNumericUpDownみたいなのをWPFのユーザーコントロールでDLLで作ってみた ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15442773.html
2018/2/18、このときはユーザーコントロールなしの関数だけのDLL作成だった
dllファイル(クラスライブラリ.NET framework)の作り方と使うまでの手順メモ ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15377219.html
2016/3/29、ちょうど2年前かあ、同じこと繰り返しているなあw
WPFとVB.NETでカラーピッカーその1 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/14018045.html
2年後