사용자가 채우는 XAML 입력 양식이 있습니다.XAML에서 요소 이름에 동적으로 액세스하는 방법?
이 양식의 유효성을 검사하고 싶습니다.
나는 루프를 통해 각 필드를 확인하려는 컬렉션에 필드 정보를 가지고 있습니다.
하지만 문자열에있는 경우 입력란 이름에 액세스하려면 어떻게해야합니까? 예 : fieldInformation.FieldName = "CompanyName" "Field_CompanyName.Text"를 확인하고 싶습니다.
의사 코드 :
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>
코드 숨김 :
_fieldInformations.Add(new FieldInformation { FieldName = "CustomerID", FieldSize = 5 });
_fieldInformations.Add(new FieldInformation { FieldName = "CompanyName", FieldSize = 40 });
_fieldInformations.Add(new FieldInformation { FieldName = "ContactName", FieldSize = 30 });
작업 중. 고맙습니다 – deanpodgornik