[ACCEPTED]-WPF Databinding stackpanel-stackpanel
Julien's answer is correct for your written 13 description, however, looking at your XAML, it 12 appears you are looking for something like 11 the following:
<DataTemplate x:Key="UserDataTemplate">
<StackPanel>
<Image Source="User.png"/>
<Label HorizontalAlignment="Center" Content="{Binding Path=UserName}" />
</StackPanel>
</DataTemplate>
<ItemsControl x:Name="UserList" ItemTemplate="{StaticResource UserDataTemplate}" >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
You definately need an ItemsControl 10 (or some derivation of) to bind your source 9 to. Then you can change the the orientation 8 by setting it's items panel (which I believe 7 is a VirtualizingStackPanel with Vertical 6 orientation by default) so just set it to 5 a VirtualizingStackPanel with Horizontal 4 Orientation. Then you can set the ItemsTemplate 3 for each of your items to the layout you 2 desire (an image stacked on top of text 1 bound from your database).
Basically, you want to use a control capable 10 of displaying an enumeration of objects. The 9 control capable of this is the class ItemsControl
and 8 all of its descendants (Selector
, ListBox
, ListView
, etc).
Bind 7 the ItemsSource
property of this control to a list 6 of objects you want, here a list of users 5 you've fetched from the database. Set the 4 ItemTemplate
of the control to a DataTemplate
that will be used 3 to display each item in the list.
Sample 2 code:
In a Resources
section (for example Window.Resources
):
<DataTemplate x:Key="UserDataTemplate">
<StackPanel Orientation="Horizontal">
<Image Source="User.png"/>
<Label HorizontalAlignment="Center" Content="{Binding Path=UserName}" />
</StackPanel>
</DataTemplate>
In your 1 Window
/Page
/UserControl
:
<ItemsControl x:Name="UserList" ItemTemplate="{StaticResource UserDataTemplate}" />
In your code behind:
UserList.ItemsSource = ... // here, an enumeration of your Users, fetched from your db
More Related questions
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.