2012-03-30 2 views
0

Je développais l'application avec élément personnalisé en utilisant MonoTouch.Dialog. Je n'ai pas mis à jour le code source depuis plusieurs semaines. Hier, je l'ai fait et j'ai réalisé que GetHeight for IElementSizing n'est plus appelé. J'ai même utilisé un nouveau drapeau pour root: UnvenRows mais ça n'aide pas. J'ai fait un test simple et il semble que cela ne fonctionne pas même pour les éléments standard comme MessageElement, le code ci-dessous présente la cellule avec la hauteur standard 44f même si MessageElement implémente GetHeight et renvoie 78f. Est-ce un bug ou est-ce que je fais quelque chose de mal?MonoTouch.Dialog Element.GetHeight a cessé de fonctionner?

var root = new RootElement ("Test"){ 
      new Section ("Text View"){ 
       new MessageElement {Sender="Sender", Body="Body", Subject="Subject", Caption="Caption"} 
      } 
     }; 

root.UnevenRows = true; 
var form = new DialogViewController (root, true); 
+0

Veuillez modifier votre question pour inclure la version exacte de MonoTouch et MonoTouch.Dialog (par exemple si vous avez utilisé la source de GIT) que vous utilisez. FWIW cela fonctionne pour moi, c'est-à-dire le hit de débogage 'MessageElement.GetHeight', lorsque vous utilisez l'application ** Sample ** (dans github). – poupou

Répondre

0

J'ai le même problème, mais heureusement, je l'ai trouvé aussi trouvé une solution de contournement.

Appel de ReloadData() après le réglage Root.UnevenRows = true;

  this.Root.UnevenRows = true; 
      this.ReloadData();