我们有WPF应用程序,我们想要下面的功能。 我想要一个表单,其中包含用户名&每个用户面前的一个按钮。 意味着如果数据库有10个用户,它将在窗口加载时带来这10个用户,&在每个用户面前会有显示按钮。
答案 0 :(得分:1)
您可以使用ListBox
并创建包含DataTemplate
和Label
Button
示例:
的Xaml:
<Window x:Class="WpfApplication16.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication16"
Title="MainWindow" Height="350" Width="525" Name="UI">
<Window.Resources>
<!-- DataTemplate for User object -->
<DataTemplate DataType="{x:Type local:User}" >
<Border CornerRadius="3" BorderBrush="Black" BorderThickness="1" Margin="2" >
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding UserName}" Width="100"/>
<Button Content="Show User" Width="100" Margin="2"/>
</StackPanel>
</Border>
</DataTemplate>
</Window.Resources>
<Grid DataContext="{Binding ElementName=UI}">
<!-- The ListBox -->
<ListBox ItemsSource="{Binding Users}" />
</Grid>
</Window>
代码:
public partial class MainWindow : Window
{
private ObservableCollection<User> _users = new ObservableCollection<User>();
public MainWindow()
{
InitializeComponent();
// Load users
for (int i = 0; i < 10; i++)
{
Users.Add(new User { UserName = "User " + i });
}
}
public ObservableCollection<User> Users
{
get { return _users; }
set { _users = value; }
}
}
public class User
{
public string UserName { get; set; }
}
结果