問題タブ [errortemplate]

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 に答える
137 参照

wpf - 検証時に部分的にしか表示されないエラー メッセージを含む要素

TextBox検証しようとしている要素のマークアップは次のとおりです。

そしてTextBox's error template、次のように定義されています。

TextBoxこれで、コントロールで検証が失敗した場合TextBlock、エラー テンプレートで定義された要素が部分的にしか表示されなくなりました。この画像を見てください:

アプリケーションのスクリーンショット

どうすれば修正できるか教えていただけますか?

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

wpf - WPF Validation.ErrorTemplate バックグラウンド オブジェクト

Validation.ErrorTemplate の通常の動作を置き換えたい。自分の UserControl の背後に背景の境界線オブジェクト (赤色で塗りつぶされたもの) を配置し、単純なカラー アニメーションを適用して点滅させたいと考えています。

私は暗黙の制御スタイルでこれを試しました:

残念ながら、境界オブジェクトはコントロール UI を完全に覆います。もう 1 つの質問は、DoubleAnimation を Opacity に適用して背景を点滅させるのに適した場所はどこですか? どのプロパティ/イベントをトリガーする必要がありますか? スタイルを使用するか、単に Border.Triggers に配置する必要がありますか?

ありがとうございました

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

c# - ページ内のコントロールのエラー テンプレートが表示されない

検証済みのモデル プロパティにバインドするテキスト ボックスがページ内にあり、エラーが発生した場合にエラー テンプレートが表示されません。

いくつかのポイント:

  1. 独自のウィンドウ内のコントロールの検証の問題はありません (ウィンドウ内のフレームに表示されるページ内ではありません)。
  2. エラー テンプレートは機能し、ウィンドウ内のコントロールに表示されます。
  3. 検証エラーが識別されると、ページ内の [保存] ボタンが無効になるため、モデルは検証中です。

問題は、コントロールがフレーム内でホストされているページ内にあり、データ コンテキストがページに渡されていないことにあると考えています。それは事実でしょうか?もしそうなら、どうすればこの問題を解決できますか? そうでない場合、他に何がありますか?

コード(もちろん、問題を切り分けるためにコードを単純化しました):

さらに情報やコードを追加できる場合は、お知らせください。

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

c# - XamlParseException エラー テンプレート

検証エラーのテンプレートとスタイルに XamlParseException があります。

何が問題なのかわからない。

xaml:

辞書:

モデル:

私が得るエラー

タイプ の初回例外が で'System.Windows.Markup.XamlParseException'発生しましたPresentationFramework.dll

追加情報: 指定された値System.Windows.Markup.StaticResourceHolderが例外をスローしました。

ありがとう

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

android - EditText でエラー テキストの境界線 android をカスタマイズする

意味のあるフルボーダーのカスタムerrorTextを作りたいです。EditText

必須フィールドまたは検証フィールドであることを示すのに適した赤い境界線でエラーメッセージを表示します。

アイコンの違いだけのカスタマイズエラーメッセージを作成しました。

エラーメッセージのアイコンを変更するために使用されるスニップ:-

これがその外観です。

私が得たもの

私が探しているもの: -

私が探しているもの

しかし、ツールチップまたはその赤い枠線が少し目を引くものとして。

その errorBox の変更を変更できますか?

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

wpf - ContentPresenter 内で AdornmentDecorator を保証するが、ControlTemplate は使用しない

私はかなりの範囲を検索しましたが、このナットを割ることができないようです.

動的に変化するメイン ビューを備えたアプリがあり、これを行うには、コントロールへのバインディングを含むコンテンツ プレゼンターを使用します。

次に、View Model で実行時に MainControl を変更します。問題は、バインドされたコントロールがエラーテンプレートを確実に表示しないことです...ここで説明した理由によると思われます:

Validation ErrorTemplate がデータ エラーに表示されない

しかし、コンテンツ プレゼンターでコントロール テンプレートを使用していないため、この問題の修正はうまくいかないようです。コンテンツ プレゼンターを AdornmentDecorator タグで囲んでも、問題が解決しないようです。contentpresenter に (ルート要素として) ロードする各コントロール内に AdornmentDecorator を配置すると機能しますが、可能であればこの繰り返しを避けたいと思います。

洞察はありますか?

アップデート

デニスが提案したこのアプローチを試しましたが、役に立ちませんでした。コントロールは正常にバインドされますが、現在のアプローチよりもうまく機能しません (下のコメントにも示されています)。注: 以下に示すように、AdornerDecorator を Dennis のようにシングルトン要素として使用し、ContentPresenter を囲むように試しました。どちらも違いはありません - MainControl バインディングが変更されると、コントロールの周りの装飾はすべて消えます。

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

wpf - AdornedElementPlaceholder のプロパティにアクセスする Validation.ErrorTemplate

装飾されたコントロールのいくつかのプロパティ値に応じて、エラー テンプレートの外観を変えたいと思います。

以下のように TargetType を設定すると、実行時例外が発生します: 'TextBox' ControlTemplate TargetType は、テンプレート化された型 'Control' と一致しません。したがって、ErrorTemplate は「Control」の targetType を使用する必要があるようです。

targetType を削除してから、これを試しました:

そして、これは例外も効果もありませんでした:

そして、これは例外も効果もありませんでした:

そして最後に、「BindingExpression パス エラー: 'IsReadOnly' プロパティが 'object' ''AdornedElementPlaceholder' に見つかりませんでした」:

ErrorTemplate で依存関係プロパティを参照する方法について、他のアイデアはありますか?

0 投票する
0 に答える
144 参照

wpf - ComboBox の Style で ErrorTemplate を作成し、ツールチップは許可するがマウス クリックは許可しない

私はテレリックを使用していますが、この質問にはあまり意味がありません。私のアプリケーションは WPF (.Net 4.5) です。

エラーテンプレートを持つすべてのコンボボックスに使用するスタイルがあります。スタイルは次のようになります。

私の ErrorTemplate は次のようになります。

全体がグローバルな ResourceDictionary で定義されています。

このコードが行うことは、ドロップダウン ボタンの直前 (余白を使用) で、コンボ ボックス (Panel.ZIndex="999") の上に「禁止記号」を配置することです。Border と Rectangle は、次のような記号を作成します: Picture .

コンボボックス自体は、ローカルに設定されたツールチップを保持できる必要があります。そのため、ローカルで解決せずに2つを組み合わせる方法を見つけない限り、コンボボックスのツールチップにエラーメッセージを表示することはできません(リソースディクショナリーにそのコードが必要です)。

また、「禁止サイン」でマウスのクリックを処理したくありません (ユーザーが「禁止サイン」をクリックすると、クリックをむさぼり食い、コンボボックスがドロップダウンするのを防ぎます。

グリッドと ErrorTemplate 内の境界線で IsHitTestVisible を false に設定しようとしましたが、ツールチップが表示されませんでした。また、同じ 2 つのコンストロールで IsEnabled を false に設定しようとしましたが、コンボボックス自体にマウスクリックが送信されません (コンボボックスのリストはドロップダウンしません)。

コンボボックススタイルまたはエラーテンプレートで直接これを行う方法はありますか? コードビハインドも気にしませんが、コンボボックススタイルが使用されている場所にコードをローカルに追加したくありません。

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

wpf - WPF 検証 - StackPanel の要素のエラーを表示する

垂直 StackPanel の TextBox 要素の検証エラーの表示方法に問題があります。TextBox の下にエラー メッセージを表示しようとしています。

私はこのエラーテンプレートを持っています:

TextBox の下に十分な空白がある場合、エラーは正常に表示されますが、StackPanel (たとえば) では、アドナー層のために、エラー メッセージがある場合に余分なマージンやパディングが追加されません。

このソースによると、そうであると予想されます。

Validation.ErrorTemplate は装飾層に表示されることに注意してください。装飾層の要素は、残りの視覚要素の上にレンダリングされ、レイアウト システムが装飾された要素層のコントロールを測定および配置するときに考慮されません。

StackPanel の他の要素の上に表示されないように、検証エラー メッセージを表示するにはどうすればよいですか?