Silverlight 페이지 (텍스트 상자, 날짜 표시기 ...)의 여러 컨트롤에 일부 값을 추가하려고하지만 일부 값이 수동으로 설정 될 때까지 초기화되지 않는 것처럼 보입니다.Silverlight가 컨트롤을 초기화하지 않습니다.
페이지의 코드에서 "로드 됨"이벤트가 발생했지만 작동하지 않습니다. (초기화 된 순서로 생각했습니다).
는나는이 실버 제한 중 하나라고 읽을 수 있지만 아마도 ...
어떤 생각 어떤 해결 방법은 한 ?? 미리 감사드립니다. (
public DatosMedico()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(DatosMedico_Loaded);
}
void DatosMedico_Loaded(object sender, RoutedEventArgs e)
{
this.txtNombreComercial.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.txtNumeroColegiado.GetBindingExpression(TextBox.TextProperty).UpdateSource();
}
는 "updateSource"를 실행하려고
는 이러한 텍스트 상자가 null입니다<sdk:Label Target="{Binding ElementName=txtNumeroColegiado}" Content="Nº Colegiado" HorizontalAlignment="Right" Margin="5,0" Name="label2" VerticalAlignment="Center" />
<TextBox Margin="5,0" Name="txtNumeroColegiado" TabIndex="27" Text="{Binding Medico.colegiado, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True, ValidatesOnDataErrors=True}" VerticalAlignment="Center" Grid.Column="1" />
<sdk:Label Target="{Binding ElementName=txtNombreComercial}" Content="Nombre Comercial" HorizontalAlignment="Left" Margin="5,0" Name="label4" VerticalAlignment="Center" Grid.Column="2" />
<TextBox Margin="5,0" Name="txtNombreComercial" TabIndex="27" Text="{Binding Medico.nombrecomercial, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True, ValidatesOnDataErrors=True}" VerticalAlignment="Center" Grid.Column="3" />
을 그리고 이것은 뒤에 내 콘데입니다 :
일부 코드 것은 먼저 XAML 컨트롤, 그것을 설명하기 하지만 그들은 페이지에서 완벽하게 작동하고 있습니다 ...). 분명히 사용자가 텍스트를 입력 할 때 초기화됩니다.
일부 코드를 게시하십시오 – swinefeaster
이것은별로 의미가 없습니다. 어디에서'DataContext'를 설정할 것입니까? 왜 당신은'UpdateSource'를 강요하겠습니까? 상자에서 데이터가 변경되지 않았 으면 해당 코드를 제거하십시오. – AnthonyWJones
DataContext는 부모 페이지에서 설정되며 (사실 컨트롤입니다) 완벽하게 상속됩니다. 그 UpdateSource는 사용자가 폼을 편집하게하기 전에 "validation"을 강제합니다. (중재자와 컨트롤을 통해 메시지를 시도했는데 컨트롤도 null입니다) ... – zapico