它们都在同一名称空间中。
public partial class Window1 : Window
{
public ObservableCollection<KeyListItem> keys;
public Window1 {
this.keys = new ObservableCollection<KeyListItem>();
... some code i create the items (key) ...
keys.Add(key);
}
private void OpenDialogAndShowList() {
//this i start from a button
var sKeys = new Window2();
sKeys.lvSelectKey.ItemsSource = keys;
}
}
在Window2中,XAML看起来像这样:
<Grid>
<ListView Name="lvSelectKey" ItemsSource="{Binding keys}" HorizontalAlignment="Left" Height="211" Margin="10,10,0,0" VerticalAlignment="Top" Width="564">
<ListView.View>
<GridView>
<GridViewColumn Width="140" Header="Id" DisplayMemberBinding="{Binding Path=Id}" />
<GridViewColumn Width="140" Header="Name" DisplayMemberBinding="{Binding Path=Name}" />
<GridViewColumn Width="140" Header="Algorithm" DisplayMemberBinding="{Binding Path=Algorithm}" />
<GridViewColumn Width="140" Header="Bits" DisplayMemberBinding="{Binding Path=Bits}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
问题是:
我在listview中看到一些空行。 当我添加三个项目时,我会看到三行......依此类推。
但我没有看到任何内容。
当我调试它时,我看到OC不是空的。
有人看到我的失败? :)
答案 0 :(得分:1)
您应按如下方式调整课程:
public class KeyListItem
{
public int Id { get; set; }
public string Name { get; set; }
public string Algorithm { get; set; }
public int Bits { get; set; }
}
这是使用属性而不是简单字段:绑定引擎仅适用于属性。
答案 1 :(得分:0)
我明白了,谢谢马里奥。 我忘记了得到;集;
public class KeyListItem
{
public int Id { get; set;}
public string Name { get; set; }
public string Algorithm { get; set; }
public int Bits { get; set; }
}