問題タブ [custom-renderer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2781 参照

c# - コードで無効なボタンの前景色を設定する (UWP)

Xamarin.Formsアプリケーションで統一されたスタイルを提供するために、送信ボタンのカスタム レンダラーを作成しています。Windows (UWP) 側で無効になっているボタンの前景色 (テキスト) の設定に問題があります。

アクティブなボタンの色を変更するのは簡単です

Control.Foreground = new SolidColorBrush(Windows.UI.Colors.Green);

しかし、無効なボタンの前景色を設定する方法を理解しようとすると、うさぎの穴に落ちてしまいました。

これらのレンダラーを後で抽出する予定であるため、 XAML (このアプローチのように)を使用せずにこれを設定できるようにしたいと考えています。

0 投票する
1 に答える
2281 参照

xamarin - xamarin レンダラーの無効なキャスト

Xamarin 環境でネイティブに行う必要があるスタイリングを作成できるようにするために、カスタム レンダラーを使用しています。Android 側で を受け取りましたがSystem.InvalidCastException、この問題を解決する方法がわかりません。私は現在、私が得ていた以前のエラーに関するこの男Android.Widget.StackViewの提案のためにラップしています(デフォルトのコンストラクターは0引数を取らないというエラー)。エラーは、宣言またはインスタンス化が原因で発生するようには見えませんが、それを ContentView に追加し、戻り時に発生します (以下に示すように行をコメントアウトすることで見つかります)。

コード

レンダラー ビュー

RendererViewAndroid

エラー スタック トレース

System.InvalidCastException: 指定されたキャストは無効です。at at (wrapper castclass) System.Object:__castclass_with_cache (object,intptr,intptr) at Xamarin.Forms.Registrar1[TRegistrable].GetHandler (System.Type type) [0x0001b] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\Registrar.cs:24 at Xamarin.Forms.RegistrarXamarin.Forms.Platform.Android.Platform. Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin. Forms.VisualElement ビュー、IVisualElementRenderer oldRenderer、Xamarin.Forms.Platform.Android.RendererPool プール、ブール値 sameChildren) [0x00023] C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:72 で Xamarin C の .Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement、Xamarin.Forms.VisualElement newElement) [0x00104]:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:204 at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms .Platform.Android\VisualElementPackager.cs:56 at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:327 at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].SetElement (Xamarin.Forms.Platform.Android.TElement 要素) [0x00111] C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:195 at Xamarin.Forms.Platform .Android.VisualElementRenderer 1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:128 at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001f] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\Platform.cs:282 at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, Boolean sameChildren) [0x00023] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:72 at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00104] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:204 at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:56 at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager パッケージャー) [0x00007] C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:327 で Xamarin .Forms.Platform.Android.VisualElementRenderer1[TElement].SetElement (Xamarin.Forms.Platform.Android.TElement element) [0x00111] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:195 at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement 要素) C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:128 の [0x00027] Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement 要素) [0x0001f] で C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\Platform.cs:282 で Xamarin.Forms .Platform.Android.Platform.AddChild (Xamarin.Forms.VisualElement view, Boolean layout) [0x00015] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\Platform.cs:518 at Xamarin.Forms. Xamarin.Forms.Platform.Android の C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\Platform.cs:406 の Platform.Android.Platform.SetPage (Xamarin.Forms.Page newRoot) [0x00089]。FormsApplicationActivity.InternalSetPage (Xamarin.Forms.Page ページ) [0x000b7] C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\FormsApplicationActivity.cs:286 at Xamarin.Forms.Platform.Android.FormsApplicationActivity.SetMainPage ( ) [0x00000] C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\FormsApplicationActivity.cs:305 で Xamarin.Forms.Platform.Android.FormsApplicationActivity.LoadApplication (Xamarin.Forms.Application アプリケーション) [0x0002d] C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\FormsApplicationActivity.cs:108 で Project.Droid.MainActivity.OnCreate (Android.OS.Bundle バンドル) [0x000ae] で /Users/ryan/project- app-xamarin/Project/Project.Droid/MainActivity.cs:47 at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (IntPtr jnienv、IntPtr native__this、IntPtr native_savedInstanceState) [0x00011] in /Users/builder/data/lanes/3340/4e275588/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.App.Activity.cs:2426 でat (ラッパー動的メソッド) System.Object:688deba4-7150-4f17-9062-10e53a94164c (intptr,intptr,intptr)

0 投票する
2 に答える
1514 参照

jsf - カスタム JSF コンポーネント レンダラー: 別の要素の周りに HTML をレンダリングする方法

バナナと outputText の 2 つの要素があり、バナナはカスタム JSF コンポーネントであり、バナナ レンダラーでは、指定された要素を囲む HTML を生成したいと考えています。

xhtml:

バナナレンダラー(ターゲット要素をアンカーリンクで囲みます):

私が達成したいこと:

ご覧のとおり、バナナ コンポーネントではなく、「for」属性を使用して対象となる要素をエンコードしたいと考えています。私が見た最も近い例は PrimeFaces のツールチップですが、「for」属性がどのように使用されているかはよくわかりません。 http://www.primefaces.org/showcase/ui/overlay/tooltip/tooltipOptions.xhtml#

誰かが私を正しい方向に向けることができれば、本当に感謝しています。ありがとうございました。

0 投票する
1 に答える
1345 参照

google-maps - カスタム レンダラー Xamarin フォーム マップを更新しない

リアルタイムの位置更新を使用して、カスタム マーカーを使用してマップを作成しました。しかし、マップに新しいピンを追加した後、カスタム レンダラーが適用されません。マップをズームインまたはズームアウトすると、そのカスタム レンダリングがマーカーに適用されます。これが私のコードです。

このコードは Xamarin.Droid プロジェクトにあります

このコードは Xamarin.Forms プロジェクトにあります

これは、カスタム マップを使用して Xamrin.Fomrs プロジェクトでピンをレンダリングする方法です。

0 投票する
1 に答える
342 参照

android - 一部の特定のレイアウトのみにカスタム レンダラーを追加する方法は?

たとえば、ラベルのフォントを変更したいとします。つまり、次のように書く必要があります。

ただし、それをプロジェクトに追加すると、すべてのラベルが指定されたフォントでレンダリングされます。一部の特定のラベルのみをそのフォントでレンダリングしたい場合はどうすればよいですか?

おそらく解決策は、Label から継承し、その継承されたクラスにレンダラーを追加して、その特定のクラスのインスタンスにのみ適用し、指定されたラベルにのみ適用することです。したがって、私の質問は 2 つの部分で構成されています。(1) は、私が説明した正しい方法であり、それは機能しますか? (2) 正しい方法は何ですか?

0 投票する
1 に答える
1751 参照

xamarin - xamarin.forms の入力セルに背景画像を設定する方法

カスタム レンダリングを使用して、IOS および Android の xamarin フォームにエントリ セルを表示しました。セルの背景色を変更することはできますが、背景画像をエントリ セルに設定する方法はありますか。また、デフォルトのAndroidエントリセルでアンダーバーラインを非表示にする方法。

PCl のカスタム エントリ セル:

0 投票する
3 に答える
1897 参照

c# - Xamarin: Windows uwp のセグメント化されたコントロール

Windows UWP でセグメント化されたコントロールのカスタム レンダラーを作成するにはどうすればよいですか。このリンクをたどって、IOS と Android でセグメント化されたコントロールをカスタム レンダリングしました。しかし、Windows UWP については何も見つかりませんでした。誰でもこれでリソースを提供できますか、またはWindows UWPのセグメント化されたコントロールと同様にこれを行う代替方法はありますか.

ここに画像の説明を入力