wpf - Dynamically add and remove TabItem from binded source in TabControl -


something strange happens me :-)

i've tabcontrol. itemsource binded list. here definition of tabitembase :

public class tabitembase : usercontrol {     #region properties     public virtual string tabname { get; set; }     public virtual string tabheader { get; set; }     #endregion } 

here xaml declare tabcontrol :

<tabcontrol itemssource="{binding views, mode=twoway}" itemcontainerstyle="{staticresource tabitemtemplate}"             selecteditem="{binding selectedview}" name="maintabcontrol" /> 

the style works fine because here when i'm adding view in list, works , see in tabcontrol in ui. i'm adding

view.add(new homeview()); 

then added navigationservice managing navigation name quite explicit :-). here code :

public class navigationservice {     #region ctor     public navigationservice(mainviewmodel vm)     {         viewmodel = vm;     }     #endregion      #region properties     public mainviewmodel viewmodel { get; set; }     #endregion      #region methods     public void navigateto(string viewname)     {         tabitembase view = viewmodel.views.firstordefault(v => v.tabname.equals(viewname));          if (view == null)         {             switch (viewname)             {                 case viewnames.home:                     view = new homeview();                     break;                 case viewnames.carriers:                 case viewnames.clients:                     break;                 case viewnames.commands:                     view = new commandsview();                     break;                 case viewnames.help:                 case viewnames.inputs:                 case viewnames.providers:                 case viewnames.sorts:                 case viewnames.users:                     break;                 default:                     messagebox.show(defaultmessages.navigationfailed);                     return;             }             viewmodel.views.add(view);              viewmodel.onpropertychanged("views");         }          if (viewmodel.selectedview != null && viewmodel.selectedview.datacontext != null)         {             (viewmodel.selectedview.datacontext viewmodelbase).onunloaded();         }          viewmodel.selectedview = view;         (viewmodel.selectedview.datacontext viewmodelbase).onloaded();     }     #endregion } 

i (when clicking on button):

navigationservice ns = new navigationservice(this); ns.navigateto(viewnames.commands); 

which not working. adds view in collection don't see in ui.

can me 'cause i'm begining loose hairs ?

cheers

thomas

either tabitembase must inherit tabitem instead of usercontrol or must define tabcontrol.itemtemplate.

let me know solution works you.


Comments

Popular posts from this blog

How do you change vbulletin's home page to the forums instead of the default (CMS or Activity Stream)? -

c++ - Troubles when compiling phash program -