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

投稿

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

.NET MAUI Xamrinから移行するときはFrameをBorderにしましょうだって

MAUIでは非推奨だった マジですか FrameはXamrinのオブジェクトであって、MAUIではBorderを使えだってよ・・・ 先日Windows版に移植してFrameがクラッシュしたから調べてたのだけど マイクロソフトのページには フレーム - .NET MAUI .NET MAUI Frame は、色、影、その他のオプションで構成できる罫線でビューまたはレイアウトを折り返すために使用されます。   [ブログカード風リンクタグ作成] 注意 クラスは Frame Xamarin.Forms に存在し、Xamarin.Forms から .NET MAUI にアプリを移行するユーザー向けに .NET MAUI に存在します。 新しい .NET MAUI アプリをビルドする場合は、代わりに を使用 Border し、 のバインド可能なプロパティ VisualElement を使用してシャドウを Shadow 設定することをお勧めします。 詳細については、「 罫線 と 影 」を参照してください。 なんてことが書いてある(しかしいつもながらなんつー日本語だよ) まあ、「だったらFrameをBorderに変えるだけじゃん」 とやったらビルド失敗。 えええ・・・ 変更点 まず、 BorderColor が無い Stroke になります CornerRadius も無い 新たなタグを使う↓これ < Border.StrokeShape >   < RoundRectangle   CornerRadius = "10" /> </ Border.StrokeShape > こんな感じ         < Border Stroke = "Orange" BackgroundColor = "Transparent" Padding = "0,1,0,1" >             < Border.StrokeShape >                 < RoundRecta...

.NET MAUI PLUGIN BLEがWindows(10/11)に対応してた(BLUETOOTH)

Windows対応 イヤッッホォォォオオォオウ Bluetooth LE plugin for Xamarin & MAUI がWindowsに対応してた~ nugetでver3.00をみんな早速ゲットだ。   ちなみにこちらはAndroid版のサンプルアプリ   GitHub - dotnet-bluetooth-le/dotnet-bluetooth-le: Bluetooth LE plugin for Xamarin/MAUI, supporting Android, iOS, Mac, Windows Bluetooth LE plugin for Xamarin/MAUI, supporting Android, iOS, Mac, Windows - GitHub - dotnet-bluetooth-le/dotnet-bluetooth-le: Bluetooth LE plugin for Xamarin/MAUI, supporting Android, iOS, Mac, W...   [ブログカード風リンクタグ作成] ↑これよこれ これをまってたのよ みんな大好きBluetooth。そのBLEのXamarinとMAUIのプラグインがWIndowsに対応してたよ しかも2日前 全然気付かなかったよ 早速試してみました うごいたよー これだ うん、まあ画面がダサいのは勘弁してくれたまえ ワンオペなんだよこっちは   変わったところ とは言えWindowsなどに対応するためや色々拡張されていて肝心のRead,Writeの戻り値が変わってる ReadAsync まず一箇所目がReadAsync()関数 var bytes = await characteristic.ReadAsync() とやっていたらbytesはbyte[]だったのだが・・・ 戻り値が Task<(byte[] data, int resultCode)> に変わったので 緊急的に var bytes = await characteristic.ReadAsync();    // ★ver 2.13から変わった var bytesdate = bytes.data; ...

.NET MAUI RadioButtonGroupの名前なんてGuidで充分だった

 RadioButtonGroupの命名ルール 今まで難しく考えてたけどRadioButtonGroupの名前なんてGUIDで充分だった 今作ってるアプリだと、ContentsPageの中にContentsViewがずらっと並ぶ んで、違うコンテンツビューの中にRadioButtonGroupが同じ名前でかぶってると、他のビューのグループと混じってしまう・・・ので わざわざLEDの番号をページ作成時にRadioButtonGroupに付けてたのだけど、んなことしなくてもguidを設定しとけばそれで充分というお話し       /// < summary >     /// コンストラクタ     /// </ summary >     public settingBlinkBar()     {         InitializeComponent();         var guid = Guid . NewGuid();         RadioButtonGroup . SetGroupName(stackMain, guid . ToString());     } RadioButtonGroupの名前で何かする事なんて無いもんな・・・・ おしまい

.NET MAUI ワンオペ開発ではダークモードやってられない

えるいーだーのMAUIバージョン、とりあえず動作はなんとかなったけどデザインがきつい・・・ 画面のスタイルを設定するのにColors.xmlとStyles.xmlで 煮詰めていくのだけど・・・ ワンオペ開発だと、こりゃ無理だなって思う ライトモードの画面 これがライトモード ミスってしまって、上下の色が変わっちゃってるけど   そしてダークモードの画面 まだ手つかずで全てデフォルトのまま こんな調子で1画面で2種類の画面カラーを考えなければならない やってられるかよ。こんなの。   みんなよくやってるなぁ 全ての要素にいちいち色を設定するのは面倒だから、デフォルトのカラーセットを編集できるようになってるけど無理っすね

.NET MAUI TOAST を使ってみた

toast 何かやると、画面の下の方に「ピローン」と出てくるお知らせtoastと言うそうで しらべてみたら、あっさり出来たので採用することにしました というか マイクロソフトのサイトを見てください トースト - .NET MAUI Community Toolkit - .NET Community Toolkit トーストは、既定で画面の下部に表示される時間指定アラートです。   [ブログカード風リンクタグ作成] で終わってしまうレベル NuGetでCommunityToolkitをゲット まあ、Nugetの画面で「communitytoolkit maui」と検索に入れればすぐ出てくるのでインストール   ブートストラップ修正 まあ起動時におまじないを入れるだけですが プロジェクト内の「MauiProgram.cs」の先頭に using CommunityToolkit.Maui; を追加 更に、ブートストラップに .UseMauiCommunityToolkit() を追加する 下のような感じ     public static MauiApp CreateMauiApp()     {         var builder = MauiApp . CreateBuilder();         builder . UseMauiApp<App>() . ConfigureFonts(fonts =>         {             fonts . AddFont( "OpenSans-Regular.ttf" , "OpenSansRegular" );             fonts . AddFont( "OpenSans-Semibold.ttf" , "OpenSansSemibold" );         }) . UseMauiCommunityToolkit(...

.NET MAUI 権限要求画面とSDKバージョンの取得

そういえば位置情報や、Near By権限を要求するのはどうすればいいのだろう・・・と言うわけで実験してみた ちなみにAndroid専用(一部そうでも無く他のOSでも使用できるみたい) Xamarinより楽だったよ! フォームにボタンとラベルを配置 <!--    SDKバージョン取得  --> < Button x:Name = "SDKVersion" Clicked = "SDKVersion_Clicked"     Text = "SDK バージョン" /> <!--    位置情報権限  --> < Button x:Name = "LocationBtn" Clicked = "LocationBtn_Clicked" Text = "GPS ON" /> <!--    Near By Device権限画面  --> < Button x:Name = "NearBy" Clicked = "NearBy_Clicked" Text = "Near By ON(Android12以降)" /> < Label x:Name = "lblSdkVersion" /> またただのボタンとラベルだけど Near By権限を判定するクラスを作成 /// < summary > /// NearByDeviceの権限設定画面用 /// </ summary > internal class PermissionNearByDevice : Permissions . BasePlatformPermission { public override ( string androidPermission, bool isRuntime)[] RequiredPermissions =>     new List<( string androidPermission, bool...

.NET MAUI バージョン番号取得

えるいーだーのスマホ側のアプリの.NET MAUI版ががとりあえず無事に動作したので細かいところを直していこうと思ったのだけど嬉しい発見 バージョン表示がとても簡単になったのだよ ↓たったこれだけ         string pkgName = AppInfo . Current . PackageName;   //パッケージ名称を取得する場合         string verCode = AppInfo . Current . BuildString;   //アプリバージョン番号を取得する場合         string verName = AppInfo . Current . VersionString; //アプリバージョン名称を取得する場合     文字列はこんなふうにバージョンが取得できる バージョンもパッケージ名もまだ作業中と言うことで・・・AndroidManifest.xmlにも適当な値を入れてるだけだけど   まーじーでーー??? XamainではDependencyServiceを使ってわざわざAndroid用を使い分けていたのに これはとてもいいことなのですよ というか、AppInfoオブジェクトの下にはまだまだ役に立ちそうなプロパティが色々隠れてそう・・・   ありがたやありがたや・・・・     ↓えるいーだーはこちらを見てちょうだい 次のワンフェスでも販売します(2023/7/30) マゼピンのページ えるいーだー関連 えるいーだー関連のページ。セットアップから、小物の購入先、便利な使い方などを掲載しています   [ブログカード風リンクタグ作成]   おしまい

えるいーだー Xamarinから.NET MAUIへの移植状況

Xamarinから移植している最中の.NET MAUI版のえるいーだーですが なんとなく動いてます BLE経由で基板の操作もできるようになっています が色が変 何故指定した色にならないのだ     これからちょっと長い旅が始まりそう 今度は横からスライドするメニューも使っていますよ 背景が真っ白ですがね!!! アプリバージョンが美味いこと取得できなかったので、バージョンのところに関数名を出しちゃったりしてますが まあゆっくりしますか・・・・

.NET MAUI えるいーだーの移植状況

.NET MAUI えるいーだーの移植状況 2023/06/11 追記 2023/06/12 追記 2023/06/17 追記   Xamarin上のえるいーだーを.NET MAUIへの移植は上手くいっていないです クラッシュクラッシュクラッシュ なんだかクラッシュするんですよ 原因はわかりません   クラッシュするとスタックトレースが消えてるんだもん そりゃないぜ・・・   いやまあ原因箇所はわかっている plugin ble のBLEデバイスを検索開始するStartScanningForDevicesAsyncメソッドが問答無用で吹っ飛んでいるのですが・・・ 何故吹っ飛ぶのか? 何故なんだろうか  これがまた嫌らしいことに「Visual Studio」上のデバッガーだと吹っ飛ぶのです 単独動作だとしれっと動作する そして、実機上でアプリを単独で動作させるとしれっと動作してしまうのですな・・・ ええ??? そう、しかも基板ときっちりパスも接続されてしまう まだ送受信は試していないけど、なんなのこの動きは? 他のアプリだと これがまた動く それじゃBLEのサンプルアプリだとどうなのか? こちらで作った サンプルアプリ だと・・・ これがまたデバッガ上でステップ実行してもさらっと動く なぬぅぅ???? これって俺のバグでほぼ確定じゃん でも原因がわからない どうすりゃいいのよ ステップ実行を諦めてログをひたすたら出力してデバッグするかね???   まあ、今のところそんな感じで移植は上手くいってません 明日になったら本気出す まあ頑張ってみます  おしまい   2023/06/11 追記 なんか昔のもおかしい   サンプルアプリ だと動く・・・・と書いたけどなんか今日試したらダメでした StartScanningForDevicesAsyncの中で こんな画面になる つーかさ、スタックトレースが見れなくなるのやめてくれよ・・  F5連打する そこで↑の画面でF5(実行)を連打してみたら、どういうわけかどうも実行状態がじわじわ進んでいき、接続まで実行して、接続イベントまで到達してしまった んん???? これは一体どういう状態なんだ・・・・ そもそも サンプルアプリ だって、これを作った...

.NET MAUI .NET Upgrade Assistantを試してみた・・・ダメだった

Visual Studio 2022が17.6になった で、そのついでとばかりに.NET Upgrade Assistantが新しくなってついに Xamarinから.NET MAUIへの移行に対応したと・・・ (^o^)・・・じゃあタメしてみるか 最初に言っとくと「失敗」したのでただの失敗記録なんだけどね ぶっちゃけて作業面倒なので諦めただけ オフィシャルのページはこちらその1(インストールについて) .NET アップグレード アシスタントの概要 - .NET Core .NET Framework からの移行と .NET 6 へのプロジェクトのアップグレードに役立つ .NET アップグレード アシスタント ツールについて紹介します。   [ブログカード風リンクタグ作成] オフィシャルのページはこちらその2(コマンドの実行の仕方) Windows フォーム アプリを .NET 6 にアップグレードする - .NET Core .NET アップグレード アシスタントを使用して、既存の .NET Framework Windows フォーム アプリを .NET 6 にアップグレードします。 .NET アップグレード アシスタントは、.NET Framework から .NET 6 にアプリを移行するときに役立つ CLI ツールです。   [ブログカード風リンクタグ作成] まあ失敗するだけなんだけどね・・・ とりあえず昔BLEの練習用に作ったソリューションでタメしてみた 1.まずはインストール power shellを立ち上げて dotnet tool install -g upgrade-assistant でインストールされる 2.アップグレードアシスタントを実行 upgrade-assistant upgrade ./ソリューション名.sln とすると実行開始! 3.開始! まあ「1」か「Enter」を画面見ながら叩くだけなんだけど・・・ 4.最初は共通部分のアップグレード 本当は順番はどうでもいいとは思うのだけどね 5.最初のプロジェクト完了 とりあえず一旦完了 6.続いてAndroidプロジェクト またまた upgrade-assistant upgrade ./ソリューション名.sln を実行よー 7.iOSプロジェクト この調子でi...