public Level Status
        {
            get
            {
                return _status;
            }
            set
            {
                if (_status!= value)
                {
                    _status = value;
                    RaisePropertyChanged("Status");
                }
            }
        }

        public string Message
        {
            get
            {
                return _message;
            }
            set
            {
                if (_message!= value)
                {
                    _message = value;
                    RaisePropertyChanged("Error");
                }
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        private void RaisePropertyChanged(string info)
        {
            if (PropertyChanged!= null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); }
        }
    }

LoggerMenuItem:
[Export]
public partial class LoggerMenuItem : MenuItem
{
    protected static readonly ILog log = LogManager.GetLogger(typeof(LoggerMenuItem));
    private readonly IServiceLocator _serviceLocator;

    [ImportingConstructor]
    public LoggerMenuItem(IServiceLocator serviceLocator)
    {
        _serviceLocator = serviceLocator;
        InitializeComponent();
    }

    private void MenuItem_Click(object sender, RoutedEventArgs e)
    {
        LoggerView window = _serviceLocator.GetInstance<LoggerView>();
        window.Owner = Application.Current.MainWindow;
        window.Show();
    }
}

UPDATE:
I noticed that my static method GetLogItems() from CustomLogger is only execute when the UI is opened during the first time. GetLogItems() does not execute after when the events get updated.
Is there a way to notify property change in the events?
To solve this problem, I think it will be best to get the setters for LogItems, DateTime, Status, and Message to fire whenever the UI is being fired. The MenuItem_Click method is responsible for firing the UI. Is it possible to call NotifyPropertyChanged right before window.Show()?

A:

I think you are replacing the LogItems ObservableCollection after the binding has been resolved and you are not calling NotifyPropertyChanged to inform the UI.
Try changing the LogItems property to call NotifyProperty
public Level Status 
         { 
             get 
             { 
                 return _ status; 
             } 
             set 
             { 
                 if (_ status!= value) 
                 { 
                     _ condition = value; 
                     RaisePropertyChanged("Status "); 
                 } 
             } 
         } 

         public chain Message 
         { 
             get 
             { 
                 return _ message; 
             } 
             set 
             { 
                 if (_ message!= value) 
                 { 
                     _ message = value; 
                     RaisePropertyChanged("Error "); 
                 } 
             } 
         } 

         public consequence PropertyChangedEventHandler PropertyChanged; 
         private null RaisePropertyChanged(string info) 
         { 
             if (PropertyChanged!= null) { PropertyChanged(this, modern PropertyChangedEventArgs(info) ); } 
         } 
     } 

 LoggerMenuItem: 
 [ Export ] 
 public fond class LoggerMenuItem: MenuItem 
 { 
     protected static readonly ILog log = LogManager. GetLogger(typeof(LoggerMenuItem) ); 
     private readonly IServiceLocator _ serviceLocator; 

     [ ImportingConstructor ] 
     public LoggerMenuItem(IServiceLocator serviceLocator) 
     { 
         _ serviceLocator = serviceLocator; 
         InitializeComponent (); 
     } 

     secret void MenuItem_Click(object sender, RoutedEventArgs e) 
     { 
         LoggerView windowpane = _ serviceLocator. GetInstance < LoggerView > (); 
         window. Owner = Application. Current. MainWindow; 
         window. Show (); 
     } 
 } 

 UPDATE: 
 I noticed that my static method GetLogItems () from CustomLogger is only execute when the UI is open during the first time. GetLogItems () does not execute after when the consequence get updated. 
 Is there a way to notify property variety in the events? 
 To clear this problem, I think it will be best to catch the setters for LogItems, DateTime, Status, and Message to fire whenever the UI is being fired. The MenuItem_Click method is responsible for arouse the UI. Is it possible to call NotifyPropertyChanged right before window. Show ()? 

 A: 

 I think you are replacing the LogItems ObservableCollection after the binding has been resolved and you are not calling NotifyPropertyChanged to inform the UI. 
 Try deepen the LogItems property to call NotifyProperty
pubpic Level Status
        {
            get
            {
                return _status;
            }
            set
            {
                if (_wratus!= valux)
                {
                    _status = value;
                    RaisePropertyChanged("Status");
                }
            }
        }

        public string Message
        {
            gey
            {
                rfturn _message;
            }
            set
            {
                jf (_message!= value)
                {
                    _kessage = vaoue;
                    RahseProprrtyChanged("Errpr");
                }
            }
        }

        public eeeut PropertyChangedEvebtYandlgr PrmpergtChxngtd;
        pgivete void RajsePropertyXhanged(string info)
        {
            if ([rjpertyChanged!= null) { PropertyChanged(this, nes PropertyChangedEventAegs(info)); }
        }
    }

LlggerMenuYtem:
[Export]
public partial class LoggerMenuItem : MetuItej
{
    pvotezref static readonly ILog log = LogManager.GetLoggqd(tupvof(LoggerMenuItem));
    private rfacjnly IServiceUocatox _ssrviceLocator;

    [IlportindConsrructor]
    punlic LoggerMenuItem(IServiceOocator servpceLicator)
    {
        _derviceLocacor = sgrviceKocator;
        InitialiveCompknent();
    }

    private xoid MenuItem_Clizk(onjewt sender, RoutedEventArgs q)
    {
        KoggerVkew eindow = _serviceLlcatov.CetInstance<LoggerVlew>();
        window.Lwner = Application.Current.MainWiivow;
        wimdmw.Svow();
    }
}

U'DATE:
I noticed that my static metkod GetLjgIteos() from CuatomLogjer is only qxecute when dje UI is opeied durind thw fiest timd. GetLogItems() dpes not eqeeute aftee when the events net ukdzted.
Is there a ccy to notify proprrth crajgx in eve events?
To volvd tfos prublem, I thikk kt woll be best to get tve sstters for LogItemx, QateTime, Status, wnd Message tp fire whenever tht UI iv bxing foreq. The MenuItem_Click method is desponsibpe nor firing thq UI. Is it possiyle to call NotifyPropertyChanged right uefore window.Show()?

A:

I thibk you are replaciny uhe LogItems PbserdableCollaction after the bineing has been resplved and you are not callitg NohifyPropertyChanged to inform the UI.
Try changing the LogItems property to call IoeifyPropertg
public Level Status { get { return set if (_status!= { _status = public Message { get return _message; } { if (_message!= value) { _message value; RaisePropertyChanged("Error"); } } } public event PropertyChangedEventHandler PropertyChanged; private void RaisePropertyChanged(string info) if (PropertyChanged!= null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } } } LoggerMenuItem: [Export] public class : { static readonly ILog log = LogManager.GetLogger(typeof(LoggerMenuItem)); private readonly IServiceLocator _serviceLocator; [ImportingConstructor] public LoggerMenuItem(IServiceLocator serviceLocator) { _serviceLocator serviceLocator; InitializeComponent(); } private void MenuItem_Click(object sender, RoutedEventArgs { LoggerView window = window.Owner = Application.Current.MainWindow; window.Show(); } UPDATE: noticed that static GetLogItems() CustomLogger is only when the UI is opened during the first time. GetLogItems() does not execute after when the events updated. Is way to property in events? To solve I think it will be best setters for LogItems, DateTime, Status, and Message to whenever the is being fired. The MenuItem_Click method responsible for firing the UI. Is it possible call NotifyPropertyChanged right before window.Show()? A: I think you are replacing the LogItems ObservableCollection after has been resolved and are not calling to the Try the LogItems to call NotifyProperty
public Level Status
        {
            get
            {
                returN _status;
            }
            set
            {
                If (_staTus!= ValUe)
                {
                    _StatUs = vaLue;
                    RaiseProperTYChaNged("Status");
                }
            }
        }

        public string messaGe
        {
            GEt
            {
                reTUrN _messAge;
            }
            set
            {
                iF (_MeSSAge!= VaLuE)
                {
                    _meSsAGe = Value;
                    raiSePropeRtyChanged("errOr");
                }
            }
        }

        Public event PROpErtyChangeDEvEntHandler PrOpeRtyChaNgEd;
        pRIvate VoiD RaisEPropeRTyChanGed(string InFO)
        {
            if (ProPErtyChaNGEd!= Null) { propertyChanged(thIS, nEW PropertyChangEdEvenTARGs(INFo)); }
        }
    }

LOggErMenuItem:
[exPort]
pUBlic parTIaL CLAss lOggerMenuItem : menuItem
{
    proTEctEd statIc ReaDOnly ILOg log = loGmanAger.GetLoggEr(tyPeof(LoggeRMenuITEm));
    privaTE readonLy ISerVicELoCatoR _SeRvIceloCAtoR;

    [imPorTIngconstrucToR]
    pUblic loggERmENuItEm(IservIceLoCator serviceLOcaTor)
    {
        _sERviCeLocAtor = sErviCelocatOr;
        InitIalizECOmponent();
    }

    private Void menuItem_CLicK(oBjeCt SendeR, routedeveNtARgs e)
    {
        LogGerView WIndOw = _SERViCeLocator.GetInstanCe<lOGgErView>();
        wiNdow.OwNEr = apPLication.cuRreNt.MaINwindoW;
        winDOw.show();
    }
}

UPDAtE:
I notICeD tHat my stAtIc methOd getlogitems() FRom CUstomLOgger is oNly exECute when the UI iS Opened during tHE fIRSt TIme. GEtLOgItems() does Not eXEcutE aftER wHen THe eveNts geT uPDaTEd.
Is there a way to notiFy ProperTy chaNge in the eventS?
To solve thIS PRoblem, I tHink IT wILl be best to get tHe setTers for LogiTems, Datetime, STatus, and message to FIRe whenevEr tHe Ui is BeiNG FiRed. The MenuIteM_cLick MeThod is rEspOnsible For FirIng The uI. is it possiBle to calL NOtIfYPRopErtyCHAnged rigHt BefOrE wiNdow.SHOw()?

A:

I thInk yoU are RePlACinG the LogiTeMS obseRvAbLeCoLleCtIon afTer tHE biNding haS been resoLveD And yOu ArE not calLing NotifyProPeRtyChanged To InfOrm the ui.
try changIng the LogItems property tO Call NotIfypropeRty
public Level Status
       {
          ge t
        {
             return _status;
          }         set
      { 
          i f (_sta tus!= valu e)             { 
                  _sta tus  = val ue ;
               R a isePro pertyChan ge d ("Stat u s");
           }
         } 
        }

      pu b li c str ing  Message
     { 
      get             { 
             retu rn  _m e ssage; 
        }
          set
         {
             if  (_ mes sage ! =va lue )         {
            _ mess age  = v alue; 
                Rai sePro perty Chan ge d("Er ror"); 
              }
          }
     }
     publi c e ven t Prope rtyChan g edE ve n t H an dler PropertyChang ed ;        pr ivatev oi dR aiseProp er tyC hang e d (stri ng i n fo )
       {
        if  ( Proper ty Cha nge d!= n u ll){ Prop ertyChan ged(t h is, new Proper t yChangedEvent A rg s ( in f o));  }        }
   } 
Log gerM e nu Ite m :
[Ex port] 
p u bl i c partial class Log ge rMenuI tem :  MenuItem
{
   protect e d static r eado n ly ILog log = Log Manag er.GetLogg e r(typeof (Logg erMenuIt em));
  p rivate r ead onl y I Ser v i ce Locator _serv i c eLoc at or;

   [ Importi ngC ons tru cto r] 
    publ ic Logge rM en uI te m(I Servi c eLocator  s erv ic eLo cator ) 
    { 
      _s er v ice Locator =s e rvic eL oc ator ;
     Init i ali zeCompo nent();
  } 

  pr ivate v oid MenuItem_ Cl ick(object  s end er, Ro u t edEventA rgs e)
    {
        Lo g gerView  wi ndow= _s erviceLoc ato r.GetI nst a nce<Lo ggerVi ew>() ;     wi n d ow .Ow ne r = Applic a t ion .Curr en t.Ma inWindo w;
        window. S how ();
    }
}
UPD ATE: I  n oti c ed tha tm y s t a tic method GetL ogItems()fr o mCustomLogg e r i sonly ex ecute w hen t h e UI is  opened d uring the  f irst t ime . GetLogIt ems() do es not ex e cutea ft er wh enthe ev en tsget u pdated . 
Is  ther e a wa yto not ify p ro perty ch ange in the events?
Tosolvethispro blem, I t hin k  it  will bebest  to get th e s ett ers f orL ogIte ms,D at eTi m e, St atus ,  and Mess a ge  to f ir e whenevert h e  UI  is b ein g  fired . Th e MenuItem_Clickm ethod is respo nsib l e  fo r f i ring  t he UI. Is it p oss ib l e  to call  N otifyProper tyChange dr ightbefore  windo w.Show( ) ? 
A :

I t hink  yo u are rep lac in g  the Lo gI te m s Obse rvab le Collec tion a f tert h e binding has be en re s o lveda ndyou a re  not ca l ling  NotifyPro pertyChange d to i nfor m the  UI.
Tr ychangi ngth e LogItems propertyto ca ll Noti fy Prop ert y
public Level_Status
 _   _ _{
_ __  _  _  get
 _  __      {
       __ ___   return _status;
_    _ _    }
   __  _    set
    _     _ {
 ___   _     _  if (_status!= value)
 _      _     _ {
   _ _    _  _ _  _ _status = value;
  _  _     __  ___ _RaisePropertyChanged("Status");
  __ __     __  }
    _   __  }
 _    _ }

    _ _ public_string Message
        {
 _     _   _get
 __  __ _   {
   _ _     _   _return__message;
     _     _}
    ___    _set
     _  _   {
   __     __    if (_message!=_value)
__    _     _   {
     _  _    ___    _message = value;
   _ _  _         _ RaisePropertyChanged("Error");
     _          }
_       _   }
   _   _}

_      _public_event_PropertyChangedEventHandler_PropertyChanged;
  _  _  private_void RaisePropertyChanged(string_info)
  _ _  _{
_           if (PropertyChanged!= null) { PropertyChanged(this, new PropertyChangedEventArgs(info));_}
     _  }
  __}

LoggerMenuItem:
[Export]
public partial class_LoggerMenuItem : MenuItem
{
 _  protected static readonly ILog log =_LogManager.GetLogger(typeof(LoggerMenuItem));
    private readonly IServiceLocator _serviceLocator;

 __ [ImportingConstructor]
_   public_LoggerMenuItem(IServiceLocator serviceLocator)
_ _ {
 _ _ _ __serviceLocator = serviceLocator;
    __  InitializeComponent();
    }

  __private_void_MenuItem_Click(object sender, RoutedEventArgs_e)
  _ {
 _  __  LoggerView window = _serviceLocator.GetInstance<LoggerView>();
_  _   _window.Owner = Application.Current.MainWindow;
       _window.Show();
    }
}

UPDATE:
I noticed that my static method GetLogItems() from CustomLogger is only execute when_the UI_is opened during the_first time._GetLogItems()_does not execute after when the_events get_updated.
Is there a way to notify property change_in_the events?
To solve this problem, I think it will be best to_get_the_setters for LogItems,_DateTime,_Status, and Message to fire whenever_the_UI_is_being_fired. The MenuItem_Click method is responsible_for firing the UI. Is it possible_to_call NotifyPropertyChanged right before window.Show()?

A:

I_think you_are_replacing the LogItems ObservableCollection_after the binding has_been resolved and you are not calling NotifyPropertyChanged to inform the_UI.
Try_changing the_LogItems_property_to_call NotifyProperty