2011-05-17 78 views
1

我可以將一個簡單的「網格」綁定到可觀察集合嗎?所以我有一個只有一列和幾行的網格。行在運行時會被填充一些超鏈接,這些超鏈接可以被刪除/添加等。我不想編寫函數來每次添加/從網格中刪除它們,並且希望使用可觀察的集合並讓網格自行更新。一個簡單的網格可以做到嗎?我試過,但它甚至沒有編譯。綁定到可觀察集合silverlight 4,grid

謝謝

[編輯]已解決。標記的答案是正確的[/編輯]

回答

1

其他答案涵蓋了各種基地,但您的具體要求是由ItemsControl填補。如果您的鏈接數量多於可以一次查看的數量,您可能需要將其包含在ScrollViewer之中。你必須標記是這樣的: -

<ScrollViewer> 
    <ItemsControl ItemsSource="{Binding MyObsCollectionOfUrlInfo"> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <HyperLinkButton NavigateUri={Binding Uri} Content={Binding Title} /> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 
</ScrollViewer> 

你觀察到的集合將包含類似類型的對象的列表: -

public class UrlInfo 
{ 
     public Uri Uri {get; set; } 
     public string Title {get; set; } 
} 
+0

你的先生,已擊中其要害。我看了一下上面的鏈接,這看起來有點太不像我了。所以我做了一切使用數據網格,然後看到你的解決方案,似乎很簡單,甚至不嘗試。試試我做了,它像魅力一樣工作。簡單即美 !謝謝 – user642770 2011-05-17 16:33:03

+0

可能是我在那裏有點倉促。這不是真的工作得很好,我不知道爲什麼。請參閱上面我的帖子中的[編輯] [/編輯]部分。謝謝 – user642770 2011-05-18 08:58:26

0

@ColinE是正確的,你不能綁定到Grid,但你可以綁定ObservableCollectionDataGridItemsControl