1

我对 wpf 和 vb.net 很陌生。我正在尝试做一个简单的用户界面,用户可以在其中输入他在数据网格中所需的行数,然后后台 vb.net 代码使用输入的行数填充数据网格。

现在用户应该能够将文本数据输入到行中,并且后台代码应该能够访问该行中的数据进一步使用。

我的代码如下:

<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="855">
<Grid>
    <DataGrid x:Name="DaGrFCC" HorizontalAlignment="Left" Height="200" Margin="4,8,0,0" VerticalAlignment="Top" Width="823" CanUserAddRows="True" CanUserDeleteRows="True" CanUserResizeColumns="True" IsManipulationEnabled="True" AutoGenerateColumns="False" HorizontalScrollBarVisibility="Disabled" >
         <DataGrid.Columns>
            <DataGridTextColumn x:Name="DaGrColNo" Header="No" FontFamily="MetaPlusLF"/>                
            <DataGridCheckBoxColumn x:Name="DaGrCoSel" Header="Select"/>
        </DataGrid.Columns>
    </DataGrid>
    <Button x:Name="But" Content="Button" HorizontalAlignment="Left" Height="28" Margin="158,252,0,0" VerticalAlignment="Top" Width="104"/>
    <TextBox x:Name="TeBoNo" HorizontalAlignment="Left" Height="28" Margin="29,252,0,0" TextWrapping="Wrap" Text="2" VerticalAlignment="Top" Width="74"/>

</Grid>

在后台运行的代码是

Class MainWindow 
  Private Sub But_Click(sender As Object, e As RoutedEventArgs) Handles But.Click
    Dim i As Integer
    i = TeBoNo.Text
    For j As Integer = DaGrFCC.Items.Count + 1 To i
      DaGrFCC.Items.Add(New Object)
    Next
  End Sub
End Class

我能够获得这些行,但是当我单击文本框列时,它会给出一个例外,“此视图中不允许编辑项目”。

任何帮助都会很有用。

4

0 回答 0