を検証コンポーネントのラインナップ依存性およびスタイルトリガー

StackOverflow https://stackoverflow.com/questions/96377

  •  01-07-2019
  •  | 
  •  

質問

私は利用しようと検証コンポーネントのラインナップ.を作成しましたNotNullOrEmptyValidationRuleは以下の通りです。

public class NotNullOrEmptyValidationRule : ValidationRule
    {
        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            if (String.IsNullOrEmpty(value as String))
                return new ValidationResult(false, "Value cannot be null or empty");

            return new ValidationResult(true, null); 
        }
    }

現在、私を使用する必要が私の願います。私のアプリです。ポファイルを宣言したスタイルのテキストボックス.この宣言です。

 <Style x:Key="textBoxStyle" TargetType="{x:Type TextBox}">

            <Setter Property="Background" Value="Green"/>

            <Style.Triggers>

                <Trigger Property="Validation.HasError" Value="True">

                    <Setter Property="Background" Value="Red"/>
                    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self},Path=(Validation.Errors)[0].ErrorContent}"/>

                </Trigger>

            </Style.Triggers>

        </Style>

現在、使いたいので自分のテキストボックスで使用してい次のコード:

  <TextBox Style="{StaticResource textBoxStyle}">
                <TextBox.Text>
                    <Binding>
                        <Binding.ValidationRules>
                            <NotNullOrEmptyValidationRule />
                        </Binding.ValidationRules>
                    </Binding>
                </TextBox.Text>


            </TextBox>

エラーについては、付属のタグNotNullOrEmptyValidationRule.のポ構文チェッカーができないことを解決するNotNullOrEmptyValidationRule.私はもっての名前空間がないようです。

役に立ちましたか?

解決

見えに対して法的拘束力テキストボックスに設定のパス'Text'-その分野にどのようなdatacontextこのテキストボックスです。でのテキストボックスの実際の取得価値に入れですか?また、まつりは、ブレークポイントをご検証の方法はっき火力発?

がありますのルックアップ方法にログイン失敗の結合を見直し..

他のヒント

あなただけを追加する必要がありxmlnsをウィンドウの使用を参照ValidationRule.

にコンポーネントのラインナップは、オブジェクトは完全に細使用する同組織します。

して規則が定義されていない標準の話サイトの最新トレンドの名前空間へのマッピングにおclr名前空間はこのように:

<Window ...
    xmlns:local="clr-namespace:MyNamespaceName">

そのときに使うのではこのように:

<Binding Path=".">
    <Binding.ValidationRules>
        <local:NotNullOrEmptyValidationRule />
    </Binding.ValidationRules>
</Binding>

編集 になっていたため、経路計算書の拘束力を有します。いく結合う結:)

いないこの線イコ

Public Sub New()

    ' This call is required by the Windows Form Designer.
    InitializeComponent()

    Me.**NameOfTextBox**.DataContext = Me
End Sub

があるバグを修正Visual StudioおよびExpression Blend原因となることになる。必要ないのバリデーションルールは別途プロジェクト/組み立てることができます。この問題を解決してください。

しかし、追加の名前空間です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top