NOTA: le risorse indicate nel presente articolo sono disponibili solo in lingua Inglese.
Poichè l'ApplicationBar non è un DependencyObject e non fa parte della struttura visiva, FindElement non è in grado di individuare gli elementi nell'ApplicationBar per i quali x:Name è impostato. Questi membri saranno nulli.
Per questo motivo, la soluzione migliore può essere inizializzare l'ApplicationBar utilizzando il code behind e mantenere i riferimenti agli elementi che devono essere cambiati dinamicamente.
Nel codice in basso si può notare che il riferimento a SaveEdit viene mantenuto e SaveEdit.IsEnabled è aggiornato ad ogni pressione di un tasto all'interno della TextBox.
#region AppBar
private ApplicationBarIconButton SaveEdit;
private void InitAppBar()
{
ApplicationBar appBar = new ApplicationBar();
appBar = new ApplicationBar();
SaveEdit = new ApplicationBarIconButton(new Uri("images/appbar.check.rest.png", UriKind.Relative));
SaveEdit.Click += new EventHandler(OnClick_Check);
//SaveEdit.Text = Strings.Save_button;
appBar.Buttons.Add(SaveEdit);
ApplicationBarIconButton CancelEdit = new ApplicationBarIconButton(new Uri("images/appbar.close.rest.png", UriKind.Relative));
CancelEdit.Click += new EventHandler(OnClick_Cancel);
//CancelEdit.Text = Strings.Cancel_button;
appBar.Buttons.Add(CancelEdit);
ApplicationBar = appBar;
}
#endregion AppBar
void itemName_KeyDown(object sender, KeyEventArgs e)
bool isNameValid = itemName.Text.Length != 0;
if ((e.Key == Key.Enter) && isNameValid)
SaveAndExit();
SaveEdit.IsEnabled = isNameValid;
Articolo originale: http://myfun.spaces.live.com/blog/cns!AC1291870308F748!531.entry
Questo articolo è disponibile anche nelle seguenti lingue:
Luigi Bruno edited Revision 3. Comment: Added the "Italian Wiki Articles" tag to the tag list.
Luigi Bruno edited Revision 2. Comment: Added a link in the "Altre lingue" section. Added the "Translated into Italian" tag.
Horizon_Net edited Revision 1. Comment: added link to german version
Luigi Bruno edited Original. Comment: Added the "Altre lingue" section.