Sto tentando di formare un xaml per un modulo dati a livello di programmazione utilizzando una stringa. Posso far apparire la casella combinata. ma quando tento di usare il codice specificando "MouseLeftButtonUp" o il gestore di eventi "Loaded" nella stringa; la pagina diventerà bianca (nessun errore evidente) dopo averla inserita. Si prega di consultare il codice pertinente di seguito.Gestori di eventi quando si utilizza una stringa come modello di dati per il modulo dati in Silverlight
StringBuilder editTemplate = new StringBuilder("");
editTemplate.Append("<DataTemplate ");
editTemplate.Append("xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' ");
editTemplate.Append("xmlns:toolkit='http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit' ");
editTemplate.Append("xmlns:navigation='clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation' ");
editTemplate.Append("xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' >");
editTemplate.Append("<StackPanel>");
editTemplate.Append(@" <toolkit:DataField Label='" + GetFieldWithoutNumber(theInfo, theDataContext) + "'>");
/* Won't Work */ editTemplate.Append(@" <ComboBox MouseLeftButtonUp='ComboBox_MouseLeftButtonUp' />");
/* Will Work */ editTemplate.Append(@" <ComboBox />");
editTemplate.Append(@" </toolkit:DataField>");
editTemplate.Append("</StackPanel></DataTemplate>");
dynamicDataForm.EditTemplate = XamlReader.Load(editTemplate.ToString()) as DataTemplate;
Questo non mi sorprende, ciò che si dovrebbe fare è collegare il gestore eventi a livello di codice dopo aver creato il datatemplate. – slugster
@slugster Si prega di avvisare ... come si fa? Dagli un nome? – Kulingar