Kyl*_*yle 4 c# wpf datagridview rows
好吧所以这很难解释.
场景:
我有一个DataGrid定义如下:
<DataGrid Height="100" Name="test" IsReadOnly="False">
<DataGrid.Columns>
<DataGridTextColumn Header="URL"></DataGridTextColumn>
<DataGridTextColumn Header="PORT"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

它有两个标题,我需要添加数据,我做了很多研究,建议使用ObservableCollection,因为这将触发DataChanged事件.
我可以使用可能不相关的长期无聊代码来制定这些数据(您将在下面看到原因).
问题:
添加了200行,但文本本身不在表中

故障排除:
我打开调试并使用屏幕截图帮助,您可以看到有实际数据但它不会将其插入行中,但它会添加行.

相关守则:
ObservableCollection<Proxy> collection = new ObservableCollection<Proxy>();
collection = GetData(ips,ports);
test.CanUserAddRows = true;
test.ItemsSource = null;
test.ItemsSource = collection;
MessageBox.Show("Done");
Run Code Online (Sandbox Code Playgroud)
我正试图弄清楚我的头撞墙.
注意:我添加了.ItemSource = null; 然后将其设置为等于集合,因为它使行显示.我尝试过使用建议:test.DataContext = collection; 但是,根本没有添加任何行,是的,就像这个测试一样,数据在调试模式下可见,因为它是context/itemsource的一部分.
更新:
我尝试使用相同的结果实现以下XAML
<DataGrid Height="100" Name="test" IsReadOnly="False" ItemsSource="{Binding collection}">
<DataGrid.Columns>
<DataGridTextColumn Header="URL" Binding="{Binding ip}"></DataGridTextColumn>
<DataGridTextColumn Header="PORT" Binding="{Binding port}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
代理类:
public class Proxy
{
public string ip;
public string port;
}
Run Code Online (Sandbox Code Playgroud)
更新2:添加get和set方法时,以下是我的结果:

小智 12
您缺少定义绑定的属性:至少,更改Proxy类,如下所示:
public class Proxy
{
public string ip {get; set;}
public string port {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6486 次 |
| 最近记录: |