C私は、ビュー内の二つのアイテムを持っているユーザーのために、それらを使用して(私は、実際のプロジェクトでより多くを持っている)#たとえば XAML 1時間に/無効にし、検証テキストアイテムを有効にする方法MVVM、DevExpress社のWPFを使用して
いくつかの検索パラメタを入力して、それらを検証する必要があります。また、最初のフィールドに何かが書かれている場合は、別のものを無効にしてください。 私は、私は価値のな長さをdetermするために検証を使用して、私が入力したテキストのな長さが必要な長さにビュー XAML満たしていない場合でも、有効/無効に必要なもの
:
<dxe:TextEdit
Text="{Binding SearchField1, UpdateSourceTrigger=PropertyChanged}"
Validate="searchFieldValidate"/>
<dxe:TextEdit
IsEnabled="{Binding IsTextItemEnabled}"
Text="{Binding SearchField2, UpdateSourceTrigger=PropertyChanged}"
Validate="searchFieldValidate"/>
を
C#の
private void searchFieldValidate(object sender, DevExpress.Xpf.Editors.ValidationEventArgs e)
{
if (e.Value == null) return;
if (e.Value.ToString().Length > 5) return;
e.IsValid = false;
e.ErrorType = DevExpress.XtraEditors.DXErrorProvider.ErrorType.Warning;
e.ErrorContent = "Enter more than 5 symbol";
}
のViewModel ここで私は依存IsTextItemEnabledを設定する問題は、フィールドな長さが5つのシンボル
に達しないまでRaisePropertiesChangedが動作しないということである値が空またはMOT
public string SearchField1
{
get { return _searchField1; }
set
{
if (value != _searchField1)
{
_searchField1 = value;
if (!String.IsNullOrEmpty(value))
IsTextItemEnabled = false;
else
IsTextItemEnabled = true;
RaisePropertiesChanged("SearchField1");
}
}
}
であるあなたは、この問題を解決するために私を助けてもらえ?まず第一には、私は1つのフィールドを無効にしようとしていますので、私は1 BOOLがIsTextEnabled使用..何をopositeバリアントについて...