スキップしてメイン コンテンツに移動

投稿

ラベル(C#)が付いた投稿を表示しています

.NET MAUI 複数のJSONファイルをファイルエクスプローラーでリードして、アプリ内のストレージに保存する

.NET MAUIではエクスプローラーではなく、FilePickerだった そうなのです。なので、まずはFilePickerを使わなければ話にならない そして関わるのがことごとく非同期関数なので、try~catchでエラー処理しないと漏れが発生する   xaml側  とりあえず釦を一個だけ画面に貼り付ける <? xml version = "1.0" encoding = "utf-8" ?> < ContentPage xmlns = "http://schemas.microsoft.com/dotnet/2021/maui"               xmlns:x = "http://schemas.microsoft.com/winfx/2009/xaml"               x:Class = "MauiTestFile.MainPage" >     < ScrollView >         < VerticalStackLayout             Padding = "30,0"             Spacing = "25" >                         < Button x:Name = "FileSelectBtn" Clicked = "OnFileSelectBtnClicked"                     Text = "JSONファイルを選んでね"               ...

.NET MAUI Visual Studioをクリーンインストールしたら、えるいーだーがビルドできなくなった

死ぬかと思った ホントマジで PCをクリーンインストールしたので、さあ、えるいーだーを一発ビルドしよう・・ とおもったらば、  資産ファイル 'D:\XXXX\YYYY\ZZZZ\obj\project.assets.json' に 'net8.0-windows10.0.22621.0' のターゲットがありません。 復元が実行されたことと、'net8.0-windows10.0.22621.0' が プロジェクトの TargetFrameworks に含まれていることを確認してください。 なんて言われちゃうじゃありませんか   copilotちゃんに聞いて dotnet restore とか   dotnet nuget locals all --clear dotnet restore とかやっても全く効果無し  大体ターゲットフレームが無いって何だよ インストールされてるだろうが なんて思っていました   そういえばふと思いました iOSをビルド対象外にしてたっけ まさかねぇ iOSをビルド対象に追加してビルド ビルド通りました  ふざけてんのかーっ なんだよそれ・・・ 散々WindowsやAndroidのターゲットが無いとか行っておいて iOSをビルド対象にしたら通っちゃうのかよ ではその後iOSをビルド対象から外したら? 無事でした 勘弁してくださいよ 泣きそうでしたよ 明日からはなんとかなりそう・・・だけど、もうこんな時間かよ   おしまい

.NET MAUI INotifyPropertyChangedではまった話

INotifyPropertyChangedではまった のでその備忘録として まあ言われてみればその通りなんだけどさ・・・   何に嵌まった 画面のプロパティをバインドするのに便利だぜと思っていたが、 その画面に遷移したとき、画面のプロパティを直接いじってはダメ ということ それを知らないでやったら、INotifyPropertyChangedがそれ以降効かなくなった   間違ったコード ビューモデルのソースを作成 まあタイマーを1秒ごとに起動してイベントあげるだけ public class ViewModelsBase : INotifyPropertyChanged {     System . Timers . Timer timer = new System . Timers . Timer ();     private bool _isTimerPlus = false ;     private int _timerCount = 0 ;     public ViewModelsBase ()     {         timer . Interval = 1000 ;         timer . Elapsed += ViewModelsBase_OnTimer ;         timer . Start ();     }     public bool IsTimerPlus     {         get => _isTimerPlus ;         set         {             _isTimerPlus = value ;       ...

.NET MAUI INotifyPropertyChangedを初めて使った話

INotifyPropertyChangedとは プロパティ値が変更されたときに通知するものらしい。 だったら普通にイベント作れば良いじゃん?とはならないらしい 実際の値が変更したことに対し、参照元がアクションする?的な感じ それを画面表示の自動更新のネタ元にするために使ってみました。 クラスを作ろう  何はともあれクラスを作る。今あるBLEのクラスの継承元にINotifyPropertyChangedインターフェースを指定しても良かったんだけど、何かしら画面更新のイベントを集めたかったので別クラスを作った 今回はBLEControlViewModelsというクラスを作成。継承元をINotifyPropertyChanged。 public class BLEControlViewModels : INotifyPropertyChanged {     /// < summary > アップデートが可能か true=アップデート可能なファーム false=アップデート不可能 </ summary >     private bool _isCanUpdate ;     /// < summary > 接続状態 </ summary >     private bool _isConnect ;     /// < summary >     /// アップデートが可能か true=アップデート可能なファーム false=アップデート不可能     /// </ summary >     public bool IsCanUpdate     {         get => _isCanUpdate ;         set         {             if ( _isCanUp...

ホビーラウンド31 出展します

BADSCRIPTはホビーラウンド31に出展します HOBBY ROUND 31 - 「作るホビーの祭典」が、ホビー三昧の一日を貴方にお届け! ホビーラウンド31 - 2024年11月2日(土) 東京都立産業貿易センター 台東館4Fにて開催!   hobby.volks.co.jp   日付 11月2日(土)  場所 東京都立産業貿易センター 台東館 4F ディーラー名 BADSCRIPT ブース番号 F17   販売商品はとなりのモケイフェスティバル6と一緒です こちらを参照してください↓ となりのモケイフェスティバル6(となモ6)で出展します となモ6 日付:2024/10/14(月・祝) 場所: 東京八王子 東京たま未来メッセ 1階展示室全室(リアル開催) ディーラー名: BADSCRIPT ブース番号:B10 販売するもの えるいーだーV2 えるいーだー(旧バージョン) USB-シリアルコンバーター(ESP32のオ...   blog.mazepin-led.com よろしくお願いいたします。

.NET MAUI でSSIDを指定してWifiのアクセスポイントに接続する

nugetにあった .NET MAUIでSSIDを指定して直接アクセスする方法、以前はこんな記事を書いてしまったけどnugetにあった。 .NET MAUIではSSIDを指定した接続は.NET 9まで待て? 待てば海路の日和あり 本当かなぁ .NET MAUIはSSIDに対してのプラットフォーム間で共通のアクセスする方法がない。 全部プラットフォーム毎にコーディングする必要がある こんな事ならえるいーだーもflutterで作ればよかった そう思っていたら、githubにissueが上...   blog.mazepin-led.com 前探したときは無かった気もするけど・・・ それはともかく試してみた いつもニコニコ実験台ESP32 WifiアクセスポイントにはESP32になって貰った # include < Arduino.h > # include < WiFi.h > # include < WiFiClient.h > # include < WiFiAP.h > // https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiAccessPoint/WiFiAccessPoint.ino const char * ssid = " nikoniko_jikk endai " ;    //!< SSID const char * password = " yourPassword " ;  //!< パスワード WiFiServer server ( 1999 );                //!< Wifiサーバー(port:1999) /// @brief セットアップ void setup () {     Serial . begin ( 115200 );               //デバッガー向けシリアル   ...