[過去ログ]
Microsoft .NET MAUI part9 [Xamarin] (1002レス)
Microsoft .NET MAUI part9 [Xamarin] http://mevius.5ch.net/test/read.cgi/tech/1663067298/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
39: デフォルトの名無しさん [sage] 2022/09/19(月) 14:26:26.45 ID:lsi5cYj1 AddSingletonしろって言ったばかりだがもしかしてインスタンスの概念がわからない系? http://mevius.5ch.net/test/read.cgi/tech/1663067298/39
40: デフォルトの名無しさん [] 2022/09/19(月) 14:53:54.45 ID:Guc0YHbo >>39 ? 最初のnewはMainPageでいいんだよね? そのナビゲーション先でDataListクラスの関数使おうとするとどう指定すればいいんだ? http://mevius.5ch.net/test/read.cgi/tech/1663067298/40
41: デフォルトの名無しさん [sage] 2022/09/19(月) 15:10:23.98 ID:oefI52tK >>40 いやだからnewしないの さっき書いたコードのModelのとこを共有したいコレクションを持ったクラスに書き換える するとサービスプロバイダーにそのクラスを要求したら最初の1回は自動的にnewされたインスタンスが返り、次からは同じインスタンスが返る つまり何回要求しても同じものが返ってくるんだよ ここではDIを使ってるからMainPageがMauiAppに作成された時点でViewModelが自動的にサービスプロバイダから注入され、ViewModelが作成された時点でModelが注入される 同じく別のページとそのVMもAddSingletonしとけばそのページに遷移した時にVMにモデルの同じインスタンスが注入される 同じインスタンスだから状態も共有する newしたら別のインスタンスになっちゃうだろ? http://mevius.5ch.net/test/read.cgi/tech/1663067298/41
42: デフォルトの名無しさん [] 2022/09/19(月) 15:37:24.08 ID:Guc0YHbo >>41 うーんわからん… Program.csに>>32を書けってこと? http://mevius.5ch.net/test/read.cgi/tech/1663067298/42
43: デフォルトの名無しさん [sage] 2022/09/19(月) 15:42:31.60 ID:oefI52tK >>42 MAUI使ってるんじゃねーの? https://www.syncfusion.com/blogs/post/learn-how-to-use-dependency-injection-in-net-maui.aspx http://mevius.5ch.net/test/read.cgi/tech/1663067298/43
44: デフォルトの名無しさん [] 2022/09/19(月) 15:54:41.38 ID:Guc0YHbo >>43 なるほど! これで共有のObservableCollectionを共有できるのか! これって.NET MAUIからの新機能? http://mevius.5ch.net/test/read.cgi/tech/1663067298/44
45: デフォルトの名無しさん [sage] 2022/09/19(月) 15:56:32.37 ID:oefI52tK 機能としては相当前からあるがここまでの圧をもって押し付けてくるのはMAUIからかな http://mevius.5ch.net/test/read.cgi/tech/1663067298/45
46: デフォルトの名無しさん [] 2022/09/19(月) 15:59:03.17 ID:Guc0YHbo >>45 ありがとう! http://mevius.5ch.net/test/read.cgi/tech/1663067298/46
47: デフォルトの名無しさん [sage] 2022/09/19(月) 19:25:59.58 ID:UixL+xz1 >>39 みたいだね。 インスタンスがいまいちわかっていないみたい。 http://mevius.5ch.net/test/read.cgi/tech/1663067298/47
48: デフォルトの名無しさん [sage] 2022/09/20(火) 18:48:08.27 ID:tcmFdYIT MAUI、CollectionViewがバグりすぎててガチで使えないwwwwwwww ItemTemplate を設定してあるとき、バインド元のコレクションの要素の置き換えをやると画面上では要素が置き換わったように見えるが、置き換え前のビューもなぜかメモリ上に残ったままになるwwwwwwwう◯こwwwwwww http://mevius.5ch.net/test/read.cgi/tech/1663067298/48
49: デフォルトの名無しさん [] 2022/09/20(火) 18:52:37.03 ID:uMWd7f8R >>48 メモリ管理ができてないってこと? http://mevius.5ch.net/test/read.cgi/tech/1663067298/49
50: デフォルトの名無しさん [] 2022/09/20(火) 19:41:41.12 ID:+1ymuJNf >>48 こいつが使い方間違えてるのに50ペリカ http://mevius.5ch.net/test/read.cgi/tech/1663067298/50
51: デフォルトの名無しさん [sage] 2022/09/20(火) 19:43:54.08 ID:Pye1gVbz まさか上の続きなのか? http://mevius.5ch.net/test/read.cgi/tech/1663067298/51
52: デフォルトの名無しさん [] 2022/09/20(火) 19:51:35.86 ID:uMWd7f8R 俺は.NET MAUIのこと悪く言わんよ EditorコントロールがAndroidでは外側のグリッド(フレーム、スタックレイアウト含む)のWidthを参照しないって仕様は見つけたけど ホリゾンタルオプションズをフィルにしても一文字分のWidthにしかならんやつ もちろんちゃんとWidthリクエストすれば問題ない http://mevius.5ch.net/test/read.cgi/tech/1663067298/52
53: デフォルトの名無しさん [sage] 2022/09/20(火) 20:34:41.76 ID:+UHOIJTp まあ現象再現する最小コードでも上げてもらわないと何とも言えんわな http://mevius.5ch.net/test/read.cgi/tech/1663067298/53
54: デフォルトの名無しさん [sage] 2022/09/20(火) 20:47:07.60 ID:4OsfujaD >>48 それはパフォーマンスを優先するために画面の再描画をしてないだけ RxのThrottle使え http://mevius.5ch.net/test/read.cgi/tech/1663067298/54
55: デフォルトの名無しさん [sage] 2022/09/20(火) 23:22:31.32 ID:nDZPLz9M debounceとかthrottleとかそういうのを知らずにゴリゴリ押して苦しんでる人結構多いよね。 webはおもちゃ、ゲームも所詮おもちゃ、とか言って叩いて無視しすぎたんじゃないかなって思うわ。 http://mevius.5ch.net/test/read.cgi/tech/1663067298/55
56: デフォルトの名無しさん [sage] 2022/09/20(火) 23:29:09.65 ID:tcmFdYIT プロジェクト作って、 MainPage.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>" xmlns:local="clr-namespace:CollectionViewMemoryLeak" x:Class="[プロジェクト名].MainPage" x:DataType="local:MainPage"> <Grid RowDefinitions="Auto,*"> <Button Text="Replace" Clicked="Button_Clicked"/> <CollectionView Grid.Row="1" ItemsSource="{Binding Items}"> <CollectionView.ItemTemplate> <DataTemplate> <Label Text="{Binding}"/> </DataTemplate> </CollectionView.ItemTemplate> </CollectionView> </Grid> </ContentPage> MainPage.xaml.cs using System.Collections.ObjectModel; namespace [プロジェクト名]; public partial class MainPage : ContentPage { public ObservableCollection<string> Items { get; } = new() { "a" }; public MainPage() { InitializeComponent(); BindingContext = this; } private void Button_Clicked(object sender, EventArgs e) { Items[0] += "b"; } } って置き換えて、デバッグ開始 ボタン1万回ぐらい押すとわかると思うよ http://mevius.5ch.net/test/read.cgi/tech/1663067298/56
57: デフォルトの名無しさん [sage] 2022/09/20(火) 23:35:20.72 ID:tcmFdYIT ボタン1万回押したくない人用 for (int i = 0; i < 10000; ++i) { await Task.Delay(1); Items[0] += "b"; } http://mevius.5ch.net/test/read.cgi/tech/1663067298/57
58: デフォルトの名無しさん [sage] 2022/09/20(火) 23:36:04.90 ID:tcmFdYIT ※ライブツリービューがめっちゃ重くなるので注意 http://mevius.5ch.net/test/read.cgi/tech/1663067298/58
59: デフォルトの名無しさん [] 2022/09/21(水) 08:20:20.15 ID:e5hMcSyJ .NET 7でマップコントロールが来る! あとデスクトップようにツールチップやコンテキストメニューが追加されるそうな http://mevius.5ch.net/test/read.cgi/tech/1663067298/59
60: デフォルトの名無しさん [] 2022/09/21(水) 08:20:43.29 ID:e5hMcSyJ https://devblogs.microsoft.com/dotnet/dotnet-maui-in-dotnet-7-rc1/ http://mevius.5ch.net/test/read.cgi/tech/1663067298/60
61: デフォルトの名無しさん [sage] 2022/09/21(水) 08:30:02.80 ID:kbEKaFBQ Xamarin.formsからの移植って 今までのフォームやソースはだいたい使えるの? dependencyとかそのまま使える? フォルダ構成が変わりすぎててAndroid独自のソースどこにおけばいいかわからない http://mevius.5ch.net/test/read.cgi/tech/1663067298/61
62: デフォルトの名無しさん [] 2022/09/21(水) 08:39:42.22 ID:e5hMcSyJ >>61 ディペンデンシーはHandlerになった http://mevius.5ch.net/test/read.cgi/tech/1663067298/62
63: デフォルトの名無しさん [] 2022/09/21(水) 08:40:16.29 ID:e5hMcSyJ AndroidのソースはPlatformフォルダにいれればよい http://mevius.5ch.net/test/read.cgi/tech/1663067298/63
64: デフォルトの名無しさん [sage] 2022/09/21(水) 08:58:23.97 ID:KMcq8I6w >>61 Android独自のソースはPlatforms/Androidの下に置く そうするとAndroid版のコンパイル対象になる それか#if ANDROIDの中に入れる Xamarinは複数プロジェクトだったけどMAUIは部分メソッドを使いたいために単一プロジェクトになってる つまり共通ソースに部分メソッドの宣言を書いてPlatforms以下それぞれのプラットフォームにそれぞれの実装を書く UIをカスタマイズしたいならレンダラーじゃなくハンドラーを書くかマッピングを変更する マッピングの方が軽い変更に向く マッピングとはUIの共通コードのメソッドやプロパティーをファサードとしてそれらへの操作と実際のそれぞれのプラットフォームでの実装を関連付けるものでプロパティーやメソッド毎に設定できる 一応Xamarinのソースはコンバートできることになってるけど信用してはいけない http://mevius.5ch.net/test/read.cgi/tech/1663067298/64
65: デフォルトの名無しさん [sage] 2022/09/23(金) 08:43:29.04 ID:8SR5QsWP MAUIではFreezableクラスが無くてBindingProxyを使えないのな。 書くしか無いか・・・ いちいち、DataGridセルなどのチャイルドレベルからDataContextを何段階アンセスターサーチなんてやってられない。 マンドクセーし、保守性悪い。 http://mevius.5ch.net/test/read.cgi/tech/1663067298/65
66: デフォルトの名無しさん [] 2022/09/23(金) 09:03:46.50 ID:gGLSN0ir UIChallengeやってる人がFigmaAPI使ってC#のグラフィックコード生成するアプリを作ったみたいだね https://twitter.com/jsuarezruiz/status/1572895480723701766?t=vNe15B3htG50jNi3BvnLZQ&s=19 https://twitter.com/5chan_nel (5ch newer account) http://mevius.5ch.net/test/read.cgi/tech/1663067298/66
67: デフォルトの名無しさん [] 2022/09/23(金) 23:24:43.35 ID:gGLSN0ir .NET 7のMAUIについてMicrosoftのJames Montemgnoさんが語るみたい 0時から https://youtu.be/qR_YlN3ZrLo まぁ地図機能がほとんどだろうな あとデュアルスクリーンか? AndroidやiOSでもできるのだろうか? http://mevius.5ch.net/test/read.cgi/tech/1663067298/67
68: デフォルトの名無しさん [] 2022/09/25(日) 08:46:38.00 ID:DIWRYevd 固有プラットフォームのコードを呼び出すやつって条件付きコンパイルとパーシャルクラス使うやつあるけどパーシャルクラスの利点ってなんですかね? 維持管理がしやすいとか? 条件付きコンパイルはifつければいいだけだから実装は簡単 http://mevius.5ch.net/test/read.cgi/tech/1663067298/68
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 934 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s