2015-03-31 6 views
1

У меня есть этот код:C клиент # МОФ чат нить

public Model.Seznam<Model.Zprava> Seznam 
    { 
     get 
     { 
      return this.seznam; 
     } 
     set 
     { 
      this.seznam = value; 
      this.ZmenaVlastnosti("Seznam");//ChangeProperty 
     } 
    } 

Это для этого ListBox

<ListBox HorizontalAlignment="Left" Height="328" Margin="10,10,0,0" VerticalAlignment="Top" Width="285" ItemsSource="{Binding Path=Seznam}" ItemTemplateSelector="{StaticResource VyberSablony}" /> 

Проблема в том, что я использую Seznam в основном потоке (добавление сообщения, которые я Ve отправлено - Seznam.Add(..)), и мне нужно добавить полученные сообщения из другой темы.

+0

Возможный дубликат http://stackoverflow.com/вопросы/7839296/using-the-c-sharp-dispatcher –

+0

Я пробовал это: 'Application.Current.Dispatcher.BeginInvoke ((Action) (() => Seznam.Add (new Model.Zprava (DateTime.Now.ToString() , "Сервер:" + Zprava, Model.Od.Server)))); ' И я получаю ссылку на объект, не установленную в экземпляр". – Datsheep

ответ

0

Решение:

public static void UiInvoke(Action a) 
     { 
      Application.Current.Dispatcher.Invoke(a); 
     } 

А как назвать:

UiInvoke(() => { Seznam.Add(new Model.Zprava(DateTime.Now.ToString(), data, Model.Od.Server)); }); 
Смежные вопросы