我是WPF
的新手,并且希望像在ASP.Net ListView
中一样,在SQL查询的基础上添加按钮。我想动态地基于DataTable
中的记录创建按钮。我应该使用什么?后面的代码是什么?
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("select * from tblGroup", con);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
}
答案 0 :(得分:0)
首先为您的输出创建一个模型。
然后在代码后面的属性中创建模型的可观察集合
public ObservableCollection<YourModel> Collection { get; private set; }
public Window() {
Collection = GetYourData();
InitializeComponent();
}
之后,您可以将其绑定到这样的DataGrid
<DataGrid x:Name="YourTable" ItemsSource="{Binding ElementName=YourWindow, Path=Collection}">
<DataGrid.Columns>
<DataGridTextColumn Header="Example" Binding="{Binding ModelProperty}"/>
<DataGridTemplateColumn Header="Your Button">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Your Button">
<Button.Style>
<Style>
<Setter Property="Button.Visibility" Value="Hidden"/>
<Style.Triggers>
<DataTrigger Binding="{Binding YourDependingModelProperty}" Value="YourDesiredValue">
<Setter Property="Button.Visibility" Value="Visible"/>
<EventSetter Event="Click" Handler="YourClickEvent"/>
</DataTrigger>
<!-- You can add more triggers here -->
</Style.Triggers>
</Style>
</Button.Style>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
此代码未经测试,但您可能值得一试