【发布时间】:2014-05-14 10:22:09
【问题描述】:
您好,我正在尝试将我的 Winforms 应用程序转换为 WPF 以将其与另一个 WPF 应用程序合并。
我坚持的主要部分是将数据链接到我的 ListView 列,在 Winform 中我有:
listView1.Items.Clear();
this.scanner.Scan();
ControllerInfoCollection controllers = scanner.Controllers;
ListViewItem item = null;
foreach (ControllerInfo controllerInfo in controllers)
{
item = new ListViewItem(controllerInfo.IPAddress.ToString());
item.SubItems.Add(controllerInfo.Availability.ToString());
item.SubItems.Add(controllerInfo.IsVirtual.ToString());
item.SubItems.Add(controllerInfo.SystemName);
item.SubItems.Add(controllerInfo.Version.ToString());
item.SubItems.Add(controllerInfo.ControllerName);
this.listView1.Items.Add(item);
item.Tag = controllerInfo;
}
}
我似乎无法找到将每个 controllerInfo 片段绑定到其对应列的方法。 这是我的 ListView1 的 xaml 代码:
<ListView.View>
<GridView AllowsColumnReorder="True">
<GridViewColumn DisplayMemberBinding="{Binding Path=IPAdress}" Header="IP" Width="65"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=Availability}" Header="Availability" Width="60"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=IsVirtual}" Header="Virtual" Width="40"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=SystemName}" Header="System name" Width="75"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=Version}" Header="RobotWare" Width="60"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=ControllerName}" Header="Controller Name" Width="100"/>
</GridView>
</ListView.View>
【问题讨论】:
-
您是否在列表视图元素中提到了来源?还要确保绑定到 ObsevableCollection