Silverlight未初始化控件

Silverlight未初始化控件,silverlight,Silverlight,我试图在silverlight页面的几个控件(文本框、日期选择器…)中添加一些值,但似乎其中一些控件从未初始化(直到用户手动设置任何值) 我已经尝试过了,在页面的代码隐藏中被引用为“Loaded”事件,但它不起作用。。。(我认为这是因为它被初始化的顺序) 我已经读到这是silverlight的一个限制,但可能有任何解决方法 有什么想法吗??提前谢谢 一些代码来说明它,首先是xaml控件: <sdk:Label Target="{Binding ElementName=txtNumeroCo

我试图在silverlight页面的几个控件(文本框、日期选择器…)中添加一些值,但似乎其中一些控件从未初始化(直到用户手动设置任何值)

我已经尝试过了,在页面的代码隐藏中被引用为“Loaded”事件,但它不起作用。。。(我认为这是因为它被初始化的顺序)

我已经读到这是silverlight的一个限制,但可能有任何解决方法

有什么想法吗??提前谢谢

一些代码来说明它,首先是xaml控件:

<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" />

当它试图运行“updateSource”时,这些文本框是空的(但它们在页面中工作得很好…)。显然,它们是在用户输入一些文本时初始化的…

据猜测,
DataContext
不是没有设置,就是没有设置为您希望设置的对象。调试时检查VS中的输出窗口,您是否看到有关绑定的任何投诉?

通过删除一个内部有许多控件的“ContentPresenter”解决了此问题。

这没有多大意义。在哪里设置数据上下文?你为什么要强迫
更新资源
?此时,框中的数据不会发生更改,请删除该代码。DataContext在父页面中设置(这是一个事实控件),并且完全继承。我让UpdateSource在让用户编辑表单之前强制进行“验证”(我已经用中介通过消息尝试过了,控件也是空的)…DataContext在父页面中设置(这是一个事实上的控件),它被完美地继承。在让用户编辑表单之前,我使用UpdateSource强制进行“验证”(我已经用中介器通过消息进行了尝试,控件也是空的)。。。
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();
}