我可以將一個簡單的「網格」綁定到可觀察集合嗎?所以我有一個只有一列和幾行的網格。行在運行時會被填充一些超鏈接,這些超鏈接可以被刪除/添加等。我不想編寫函數來每次添加/從網格中刪除它們,並且希望使用可觀察的集合並讓網格自行更新。一個簡單的網格可以做到嗎?我試過,但它甚至沒有編譯。綁定到可觀察集合silverlight 4,grid
謝謝
[編輯]已解決。標記的答案是正確的[/編輯]
我可以將一個簡單的「網格」綁定到可觀察集合嗎?所以我有一個只有一列和幾行的網格。行在運行時會被填充一些超鏈接,這些超鏈接可以被刪除/添加等。我不想編寫函數來每次添加/從網格中刪除它們,並且希望使用可觀察的集合並讓網格自行更新。一個簡單的網格可以做到嗎?我試過,但它甚至沒有編譯。綁定到可觀察集合silverlight 4,grid
謝謝
[編輯]已解決。標記的答案是正確的[/編輯]
其他答案涵蓋了各種基地,但您的具體要求是由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; }
}
Silverlight不支持這一點。您有兩種選擇,可以使用DataGrid
或使用以下代碼,該代碼允許您在ItemsControl
內使用Grid
,這將實現您的目標。
http://www.scottlogic.co.uk/blog/colin/2010/11/using-a-grid-as-the-panel-for-an-itemscontrol/
@ColinE是正確的,你不能綁定到Grid
,但你可以綁定的ObservableCollection
到DataGrid
或ItemsControl
。
你的先生,已擊中其要害。我看了一下上面的鏈接,這看起來有點太不像我了。所以我做了一切使用數據網格,然後看到你的解決方案,似乎很簡單,甚至不嘗試。試試我做了,它像魅力一樣工作。簡單即美 !謝謝 – user642770 2011-05-17 16:33:03
可能是我在那裏有點倉促。這不是真的工作得很好,我不知道爲什麼。請參閱上面我的帖子中的[編輯] [/編輯]部分。謝謝 – user642770 2011-05-18 08:58:26