绑定到可观察集合silverlight 4,网格

时间:2011-05-17 10:46:29

标签: silverlight data-binding

我可以将简单的'网格'绑定到可观察的集合吗?所以我有一个只有一列和几行的网格。这些行在运行时填充了一些超链接,这些超链接可以删除/添加等。我不想编写函数来每次从网格中添加/删除它们,并且更喜欢使用可观察的集合并让网格自行更新。一个简单的网格能做到吗?我试过但它甚至没有编译。

由于

[编辑]解决了。标记的答案是正确的[/ EDIT]

3 个答案:

答案 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 }}