XamlParseException because of custom MaterialConfiguration
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 50/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- csharp
- 領域
- mobile-dev
調査の方向性
XF.Material/Material.cs の 128~140 行付近から開始し、カスタムの MaterialConfiguration が指定された場合の XF.Material.Forms.Material.Init を追跡します。Issue に記載された Android のセットアップを再現し、その後、MaterialLabel のサイズが設定され、Material alert を開いても欠落している Material.Dialog.Width リソースの例外が発生しなくなったことを確認します。
索引モデルが issue の本文から書いたものです。
説明
🐛 Bug Report
Whenever I set a custom MaterialConfiguration, sizes are broken. The MaterialLabel font sizes are all default sizes, and when I open an alert, I get this exception:
Xamarin.Forms.Xaml.XamlParseException: Position 19:32. StaticResource not found for key Material.Dialog.Width
at Xamarin.Forms.Xaml.StaticResourceExtension.ProvideValue (System.IServiceProvider serviceProvider) [0x0008f] in D:\a\1\s\Xamarin.Forms.Xaml\MarkupExtensions\StaticResourceExtension.cs:27
at XF.Material.Forms.UI.Dialogs.MaterialAlertDialog.InitializeComponent () [0x00066] in Z:\Documents\OpenSource\XF-Material-Library\XF.Material\obj\Release\monoandroid10.0\UI\Dialogs\MaterialAlertDialog.xaml.g.cs:42
at XF.Material.Forms.UI.Dialogs.MaterialAlertDialog..ctor (XF.Material.Forms.UI.Dialogs.Configurations.MaterialAlertDialogConfiguration configuration) [0x00006] in Z:\Documents\OpenSource\XF-Material-Library\XF.Material\UI\Dialogs\MaterialAlertDialog.xaml.cs:32
at XF.Material.Forms.UI.Dialogs.MaterialAlertDialog..ctor (System.String message, System.String title, System.String action1Text, System.String action2Text, XF.Material.Forms.UI.Dialogs.Configurations.MaterialAlertDialogConfiguration configuration) [0x00000] in Z:\Documents\OpenSource\XF-Material-Library\XF.Material\UI\Dialogs\MaterialAlertDialog.xaml.cs:12
...
This is due to the "addDefaults" parameter to the Material class' constructor. It stops the flow from setting up size resources whenever a custom config is provided.
Expected behavior
XF.Material.Forms.Material.Init should setup sizes correctly when custom configs are set.
Reproduction steps
Add this to app resources:
<resources:MaterialColorConfiguration x:Key="Material.Color"
Background="#EAEAEA"
Error="#B00020"
OnBackground="#000000"
OnError="#FFFFFF"
OnPrimary="#ffffff"
OnSecondary="#FFFFFF"
OnSurface="#000000"
Primary="{StaticResource PrimaryColor}"
PrimaryVariant="#ffdbcd"
Secondary="#4e6704"
SecondaryVariant="#cfee82"
Surface="#FFFFFF" />
<resources:MaterialConfiguration x:Key="Material.Configuration"
ColorConfiguration="{StaticResource Material.Color}" />
And init the package like this:
XF.Material.Forms.Material.Init(this, (MaterialConfiguration)Resources["Material.Configuration"]);
Configuration
Version: 1.8.0
Platform:
- 📱 iOS
- 🤖 Android
- 🏁 WPF
- 🌎 UWP
- 🍎 MacOS
- 📺 tvOS
- 🐒 Xamarin.Forms
- 主要言語
- C#
- スター
- 633
- フォーク
- 150
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Baseflow/XF-Material-Library のほかの issue
-
.Net Maui Supportオープン
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
Baseflow/XF-Material-Library#458 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
Baseflow/XF-Material-Library#456 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
Baseflow/XF-Material-Library#454 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 58/100
Baseflow/XF-Material-Library#453 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
Baseflow/XF-Material-Library#451 · リアクション 3 件 ·
Baseflow/XF-Material-Library の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
microsoft/fluentui-blazor#5364 ·
メンテナーはふだん 1 日以内に返信
-
.NET triage
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
microsoft/agent-framework#8811 ·
メンテナーはふだん 1 日以内に返信
-
.NET Docs
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
getsentry/sentry-dotnet#5637 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
QuantConnect/Lean#9842 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
NethermindEth/nethermind#14012 ·
メンテナーはふだん 1 日以内に返信