Kullanıcının doldurduğu bir XAML giriş formum var.XAML'de öğe adlarına dinamik olarak nasıl erişilir?
Bu formu doğrulamak istiyorum.
Alan bilgisini, döngü yapmak istediğim ve her alanı kontrol edebileceğiniz bir koleksiyona sahibim.
Dize, gibi bir dizgede olduğunda alan adlarına nasıl erişirim? Ne zaman fieldInformation.FieldName = "CompanyName" Ben "Field_CompanyName.Text" kontrol etmek istiyorum.
yalancı kod:
foreach (var fieldInformation in _fieldInformations)
{
if (Field_{&fieldInformation.FieldName}.Text.Length > 2)
{
ErrorMessage.Text = String.Format("The length of {0} is too long, please correct.", fieldInformation.FieldName);
entryIsValid = false;
}
}
XAML:
<StackPanel Orientation="Horizontal" Margin="10 10 10 0">
<TextBlock Width="150" Text="Customer ID:"/>
<TextBox x:Name="Field_CustomerID" Width="150" MaxLength="5" Text=""/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="10 10 10 0">
<TextBlock Width="150" Text="Company Name:"/>
<TextBox x:Name="Field_CompanyName" Width="150" MaxLength="40" Text=""/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="10 10 10 0">
<TextBlock Width="150" Text="Contact Name:"/>
<TextBox x:Name="Field_ContactName" Width="150" MaxLength="30" Text=""/>
</StackPanel>
planda kodlama:
_fieldInformations.Add(new FieldInformation { FieldName = "CustomerID", FieldSize = 5 });
_fieldInformations.Add(new FieldInformation { FieldName = "CompanyName", FieldSize = 40 });
_fieldInformations.Add(new FieldInformation { FieldName = "ContactName", FieldSize = 30 });
Çalışıyor. teşekkür ederim – deanpodgornik