[英]Binding custom object list to datagrid
我有一堂課
public class ServerList
{
public ServerList(string ipAdress, int port)
{
IPAdress = ipAdress;
Port = port;
}
public string IPAdress { get; private set; }
public int Port { get; private set; }
}
在名為AddServerWindow的第二個類中,我有一個包含ServerList對象的列表
public ObservableCollection<ServerList> ServerLists = new ObservableCollection<ServerList>();
如何將其綁定到放置在主窗口上的數據網格。 我正在嘗試這樣的東西:在MainWindow.cs中
DataContext = new
{
dump = this,
server = new AddServerWindow(),
};
在MainWindow.xaml中
<DataGridTextColumn Header="Server" IsReadOnly="True" Width="*" Binding="{Binding server.IPAdress}"></DataGridTextColumn>
<DataGridTextColumn Header="Port" IsReadOnly="True" Width="0.6*" Binding="{Binding server.Port}"></DataGridTextColumn>
更改為以下代碼后,DataGrid仍然為空,但現在有10列
ItemsSource="{Binding Source=ServerLists}"
您需要綁定DataGrid的ItemsSource。 完成此操作后,每一行的DataContext都是一個ServerList,因此您可以將這些列直接綁定到IPAdress和Port。 嘗試這樣的事情:
<DataGrid ItemsSource="{Binding server.ServerLists}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Server" IsReadOnly="True" Width="*" Binding="{Binding IPAdress}"/>
<DataGridTextColumn Header="Port" IsReadOnly="True" Width="0.6*" Binding="{Binding Port}"/>
</DataGrid.Columns>
</DataGrid>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.