求助 wpf关于集合绑定

sl1264350023 2014-07-22 09:52:37
先上源码
<ListBox ItemsPanel="{DynamicResource ItemsPanelTemplate2}" FocusVisualStyle="{DynamicResource ControlStyle1}" Style="{DynamicResource ListBoxStyle2}" ItemContainerStyle="{DynamicResource A_ListBoxItemStyle2}" ItemTemplate="{DynamicResource DataTemplate1}" Visibility="Collapsed" ItemsSource="{Binding MyProperty}">


ItemsSource="{Binding MyProperty}
MyProperty 这个是一个集合,里面放的是VM。

在Vm里有一个属性Name是我要展示的属性。

<ListBoxItem Margin="0" Width="80" Height="80" Background="{x:Null}" RenderTransformOrigin="0.5,0.5" Content="{Binding Name}">

在这里可以绑定吗?如何绑定
...全文
69 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sl1264350023 2014-07-23
  • 打赏
  • 举报
回复
好像是可以的,首先谢谢2l的答案,我现在是学着用wpf做东西,如果一定要绑定listbox中vm中的变量该怎么办?
exception92 2014-07-23
  • 打赏
  • 举报
回复
没必要这样绑定,给Listbox的ItemSource赋值之后,它的 “条目容器”会根据数据个数包装你的ListBoxItem,然后呈现。 直接设置它的项条目style就行了。

 <ListBox>
 <ListBox.ItemContainerStyle>
                    <Style TargetType="{x:Type ListBoxItem}">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate>
                                    <TextBlock Width="100" Text="{Binding  Name}"></TextBlock>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </ListBox.ItemContainerStyle>
            </ListBox>
exception92 2014-07-23
  • 打赏
  • 举报
回复
引用 4 楼 sl1264350023 的回复:
private List<peoplev2> people; public List<peoplev2> People { get { return people; } set { people = value; RaisePropertyChanged("People"); } listbox'的itemsource放的是people,而people中有好几个数据属性,和几个页面属性。 我怎样绑定到,people中的这些属性。
了解WPF的布局面板,StackPanel等。

<ControlTemplate>
                                <StackPanel>
                                        <TextBlock Width="20" Background="Red" Text="{Binding   People.Id}"></TextBlock>
                                        <TextBlock Width="20" Background="Red" Text="{Binding   People.Name}"></TextBlock>
                                    </StackPanel>
                                </ControlTemplate>
sl1264350023 2014-07-23
  • 打赏
  • 举报
回复
private List<peoplev2> people; public List<peoplev2> People { get { return people; } set { people = value; RaisePropertyChanged("People"); } listbox'的itemsource放的是people,而people中有好几个数据属性,和几个页面属性。 我怎样绑定到,people中的这些属性。
exception92 2014-07-23
  • 打赏
  • 举报
回复
引用 2 楼 sl1264350023 的回复:
好像是可以的,首先谢谢2l的答案,我现在是学着用wpf做东西,如果一定要绑定listbox中vm中的变量该怎么办?
没明白你的意思?

8,734

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧