Проблема, которую я имею сейчас, это то, что Для каждого текстового блока, который у меня есть в настоящее время, я должен указать путь привязки, чтобы проверить, пуст или нет текстовый блок. Однако, если так получилось, что у меня есть сто textBox, я не могу создать метод get и set для всего 100 текстовых полей отдельно. Итак, есть ли лучший способ сделать текущую проверку, которая у меня есть сейчас?Как сделать валидацию для обязательного поля без использования пути привязки
Ниже коды, которые я в настоящее время есть,
В XAML
<Grid.BindingGroup>
<BindingGroup Name="RequiredFields">
<BindingGroup.ValidationRules>
<local:MandatoryFieldRule ValidationStep ="CommittedValue"/>
</BindingGroup.ValidationRules>
</BindingGroup>
</Grid.BindingGroup>
<TextBox x:Name="ds_instruct" HorizontalAlignment="Left" Height="30"
Margin="286,186,0,0" TextWrapping="Wrap" VerticalAlignment="Top"
Width="275" FontSize="11" GotFocus="textBox_Expand"
LostFocus="textBox_Expand" Tag="Default Special Instruction"
SpellCheck.IsEnabled="True"
Text="{Binding Path=Text, BindingGroupName=RequiredFields,ValidatesOnDataErrors=true}"/>
В файле проверки:
public String Text { get; set; }
public String Text1 { get; set; }
#region IDataErrorInfo Members
public string Error
{
get {throw new NotImplementedException(); }
}
public string this[string columnName]
{
get
{
string result = null;
if (columnName == "Text")
{
if (string.IsNullOrEmpty(Text))
{result = "Mandatory field required"; }
}
if (columnName == "Text1")
{
if (string.IsNullOrEmpty(Text1))
{ result = "Mandatory field required"; }
}
return result;
}
}
#endregion
Так что мой вопрос, как проверить обязательное поле для нескольких textBoxes без указания привязки один к одному (TextBox для метода getter и setter)?
Спасибо вам заранее!
Как вы создания полей ввода (100 NOS) во время выполнения программы? Или вышеупомянутый xaml - это пользовательский элемент управления, который вы повторно используете? –
привет, Джейкоб, в некотором смысле, что я имел в виду, что для Binding Path, все равно, чтобы получить значение из текста без указания метода get и set? – Sheep
Что касается привязки, то каждый элемент в UI-TextBox должен быть привязан к одному свойству, он может быть одним и тем же или другим свойством. Это нормально, чтобы пройти через контролируемые элементы управления? но здесь вам может потребоваться указать валидацию для каждого элемента управления. –