2014-02-25 37 views
0

我是WP8的新手,並遵循許多教程。對於部分菜單,我使用帶有NotifyPropertyChanged的viewModel。當我得到我的新聞報道列表時,它會創建一個viewModel並將其顯示在一個longListSelector中。 但我也想用圖像和第一篇文章的一些預覽文本製作1 HubTile。有沒有一種很好的方式將一些事件發送到.xaml.cs?或者我必須爲這個HubTile製作另一個視圖模型並進行綁定?加載在線內容後在HubTile中插入文本和圖像

Ony試着做出這樣的變量: private bool _isDataLoaded = false;

public bool IsDataLoaded 
    { 
     get 
     { 
      return _isDataLoaded; 
     } 
     set 
     { 
      if (value != _isDataLoaded) 
      { 
       _isDataLoaded = value; 
       NotifyPropertyChanged("IsDataLoaded"); 
      } 
     } 
    } 

同樣的事情使用「IsLoading」 -variable創建於SystemTray的負載 - 指示器:

void MainPage_Loaded(object sender, RoutedEventArgs e) 
     { 
      System.Diagnostics.Debug.WriteLine("MainPage_Loaded-Funktion"); 


      Binding binding = new Binding("IsLoading") { Source = DataContext }; 
      BindingOperations.SetBinding(
       prog, ProgressIndicator.IsVisibleProperty, binding); 

      binding = new Binding("IsLoading") { Source = DataContext }; 
      BindingOperations.SetBinding(
       prog, ProgressIndicator.IsIndeterminateProperty, binding); 

      prog.Text = "Lade aktuelle Inhalte..."; 
     } 

我可以用這個當我的變量設置爲調用一個函數,並我收到通知了?

+0

爲什麼要手動創建綁定?你應該在XAML中完成所有綁定。另外,您可以創建在下載完成時填充的特殊屬性,並且可以將HubTile的屬性綁定到這些視圖模型屬性。 –

+0

我是新手,這就是爲什麼我做錯了:D 如何設置這樣一個特殊的屬性? 編輯:LongListSelector自動填充,就像你說的。 xaml中的綁定和爲每個更改發送通知的viewModel。 但我得到的是對象列表。對於HubTile,我需要一個對象,或者有沒有辦法在xaml中說出該綁定的元素0? 除了這個HubTile,我想知道什麼時候下載完成。有什麼辦法嗎?下載發生在viewModel LoadData()函數中。這離xaml及其cs很遠。 – ecth

+0

這裏很難用幾個字來解釋一切,但讓我試試。您可以直接向視圖模型添加屬性,就像使用「IsDataLoaded」一樣。你可以用下面的語法'{Binding Items [0]}'綁定到一個數組項。 –

回答

0

,幫助我出的解決方案是這樣的:

<toolkit:HubTile Message="{Binding OnlineNews[0].TeaserText}"/>

不知道,你可以訪問視圖模型類的。感謝Toni Petrina!

相關問題