我可以将简单的'网格'绑定到可观察的集合吗?所以我有一个只有一列和几行的网格。这些行在运行时填充了一些超链接,这些超链接可以删除/添加等。我不想编写函数来每次从网格中添加/删除它们,并且更喜欢使用可观察的集合并让网格自行更新。一个简单的网格能做到吗?我试过但它甚至没有编译。
由于
[编辑]解决了。标记的答案是正确的[/ EDIT]
答案 0 :(得分:1)
Silverlight不支持此功能。您有两种选择,使用DataGrid
或使用以下代码,您可以在Grid
内使用ItemsControl
来实现您的目标。
http://www.scottlogic.co.uk/blog/colin/2010/11/using-a-grid-as-the-panel-for-an-itemscontrol/
答案 1 :(得分: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; }
}
答案 2 :(得分:0)
@ColinE是正确的,您无法绑定到Grid
,但可以将ObservableCollection
绑定到DataGrid
或{{1 }}