DataForm
のEditTemplate
のコードにアクセスするにはどうすればよいでしょうか?Silverlight:DataForm EditTemplateの要素にアクセスする名前
次EditTemplate
が適用されます。
<toolkit:DataForm ItemsSource="{Binding ElementName=someDomainDataSource, Path=Data, Mode=TwoWay}">
<toolkit:DataForm.EditTemplate>
<DataTemplate>
<StackPanel>
....
<sdk:DatePicker DisplayDate="{Binding DueDate, Mode=TwoWay}}"
x:Name="dpCustomMaterialDueDate"/>
....
</StackPanel>
</DataTemplate>
</toolkit:DataForm.EditTemplate>
</toolkit:DataForm>
それがコードビハインドファイルの変数名dpCustomMaterialDueDate
を使用してからDatePicker
にアクセスすることは可能ですか? Intellisenseはそれを見つけることができないようです。
DataForm
さん
ContentLoaded
イベントでそれにアクセスしようとしましたが、運、すなわち
dataformPrintOrders.ContentLoaded += (sender, args) =>
{
DatePicker d = (DatePicker)
dataformPrintOrders.FindNameInContent("dpCustomMaterialDuedate");
if (d != null)
{
d.DisplayDateStart = DateTime.Now.AddMonths(-1);
d.DisplayDateEnd = DateTime.Now.AddMonths(12);
}
};
変数d
は常にnullではありません。
リンクされた質問の 'FindChild'メソッドが機能します。例えば 'DataForm.ContentLoaded + =(sender、args)=> {FindChild()のように' EditTemplate'が初期化された後、必ず 'DataForm'の' ContentLoaded'をオーバーロードしました。 ); } ' –
Ryan