我很感兴趣,我是否可以将一些控件(图像,2-3个文本框)分组到一个元素中,然后在列表框中推送这些元素的分组?我正在尝试将俄罗斯社交网络Vkontakte的新闻阅读器安装到Windwos Phone 7中。
每条新闻都有一个图像、文本和其他一些元数据。因此,我想将所有这些信息分组到一个控件中,并在列表框中使用它。我尝试将一个网格(有一个图像和两个文本框)推送到列表框中,但是抛出了XamlParseException。另外,我需要从代码中获取文本框和图像的内容。在网格中我可以使用
<Grid.Resources>
<src:Customers x:Key="customers"/>
</Grid.Resources>发布于 2012-11-29 02:56:44
以下是您需要的内容:
ObservableCollection<T>推荐)(在您的情况下为News)。示例:
XAML:
<ListBox Name="ListBox1">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
...
<Image Source="{Binding ImagePropertyInModel}" ... />
<TextBlock Text="{Binding TextPropertyInModel}" ... />
...
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>代码隐藏:
ListBox1.ItemsSource = <collection of models>;除了<DataTemplate>中的<Grid>,您还可以使用Custom Control (Templated Control)或您可能已经拥有的User Control。
发布于 2012-11-29 02:56:02
您可以使用要使用的控件创建一个UserControl。使用您的ListBox,您可以执行以下操作:
<ListBox ItemsSource="{Binding Path=YourItemsSource}">
<ListBox.ItemTemplate>
<DataTemplate>
<my:MyUserControl DataContext="{Binding}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>作为ListBox的ItemsSource,您可以使用新闻的ObservableCollection,并通过DataContext="{Binding}"绑定到UserControl中的新闻属性,例如:
<UserControl...>
<Image Source="{Binding Path=photoAttachment}"/>
</UserControl>https://stackoverflow.com/questions/13611967
复制相似问题