.NET Core、WPF、ユーザーコントロールのDLLをアプリで使うまでの手順メモ
この前作ったユーザーコントロールを実際に使うまで
ユーザーコントロールのdllファイル
ControlLibraryCore20200620.7z
これを適当なところに展開しておいて
新しいプロジェクトの作成
テンプレートの.NET CoreのWPFで作成
今回のユーザーコントロールは.NET Coreで作ったので.NET Frameworkでは動かない
名前は20200707_dll使用テストCoreCにした
参照の追加
ソリューションエクスプローラーの依存関係の右クリックメニュー、もしくは
メニューのプロジェクト→COM 参照の追加
参照マネージャーの参照ボタンから
さっき展開しておいたdllファイルを指定選択して、追加ボタン
こうなって、OK押して
ソリューションエクスプローラーで追加されたのが確認できた
XAMLに参照の追加
6と7行目の間に追加しているところ
名前は「uc」にした
xmlns:uc="clr-namespace:Cまで入力したら候補に出てきた
追加完了
コントロールの追加
「<uc」で候補に出てくる
追加したけど最初だけは表示されないのでビルドする
Ctrl+Bとかでビルド実行
表示された、けどウィンドウいっぱいに表示されてよくわからん
StackPanelに入れて普通に表示された
これでいいはずなのでデバッグ開始
表示された!
動いた!
プロパティの確認
追加したプロパティの名前はすべて「My」で始まる
値と書式を設定したところ
デザイン画面にも反映されている
デバッグ開始でも期待通り表示された!
プロパティ名 | 型 | 既定値 | 説明 |
MyValue | decimal | 0m | 値 |
MyText | String | "" | MyValueを書式に従ってToStringしたもの、表示用 |
MyMinValue | decimal | decimal.MinValue | 最小値 |
MyMaxValue | decimal | decimal.MaxValue | 最大値 |
MySmallChange | decimal | 1m | 小変更値、ボタン押したときの変化値 |
MyLargeChange | decimal | 10m | 大変更値、ボタンの上でホイール回したときの変化値 |
MyStringFormat | String | "" | 書式、MyValue.ToString(書式)で使う |
ここまでは.NET Core
次
.NET Frameworkでは動かなかった
WPF アプリ(.NET Framework)で新しいプロジェクトの作成
.NET Coreのときと同じように参照の追加して
普通に追加できた
XAMLへの追加、ここまでは変わりなくできたけど
実際にコントロールを追加しところエラー表示
試しにビルドしてみると
ビルド自体はできたようだけど、エラー表示はそのまま
今度はデバッグ開始してみると
途中でエラーになった
やっぱりCoreで作ったdllは、Frameworkでは使えないみたいねえ
逆にFrameworkで作ったdllはCoreでも使えるはずだから、Frameworkで作ったほうが良かったかも
関連記事
次回は5日後
gogowaten.hatenablog.com
前回は昨日
GitHubのTagとRelease機能を使ってみた - 午後わてんのブログ
gogowaten.hatenablog.com
2年前
ユーザーコントロール(WPF)のDLLを作ってアプリで使うまでの手順メモ - 午後わてんのブログ
gogowaten.hatenablog.com
このときはXAMLへの追加はツールボックスへ追加していたんだなあ