簡體   English   中英

C#WPF-無法將列表項綁定到gridview列

[英]C# WPF - Can't bind list items to gridview columns

我正在嘗試將具有多個屬性的列表加載到listview的gridview列中。 我確實設置了一個模型類,將網絡適配器放入列表中,並且還在xaml代碼中寫下了綁定。 它仍然無法正常工作。

我可能忘記執行某個步驟或使用了錯誤的邏輯。 我也嘗試研究其他線程,但是似乎沒有一個線程可以解決我遇到的問題。 謝謝你的幫助。

.xaml

<ListView Grid.Column="0" Grid.ColumnSpan="2" Width="auto" Margin="10" Name="ListView">
  <ListView.View>
    <GridView AllowsColumnReorder="true" x:Name="GridView">
      <GridViewColumn Header="Name" Width="auto" DisplayMemberBinding="{Binding Name}"/>
     <GridViewColumn Header="Interface" Width="auto" DisplayMemberBinding="{Binding Interface}"/>
      <GridViewColumn Header="Status" Width="auto" DisplayMemberBinding="{Binding Status}"/>
    </GridView>
  </ListView.View>
</ListView >

window.xaml.cs

public MainWindow()
{
  InitializeComponent();
  List<Netadapter> adapters = new List<Netadapter>();
  foreach (NetworkInterface netadapter in NetworkInterface.GetAllNetworkInterfaces())
  {
    Netadapter adapter = new Netadapter(netadapter.Name, netadapter.Description, netadapter.OperationalStatus.ToString());
    adapters.Add(adapter);
  }
  this.DataContext = this;
}

Netadapter.cs(模型)

public class Netadapter
{
  public string Name { get; set; }
  public string Interface { get; set; }
  public string Status { get; set; }

  public Netadapter(string _name, string _interface, string _status)
  {
    this.Name = _name;
    this.Interface = _interface;
    this.Status = _status;
  }
}

您的ListView需要引用Netadapters的列表。

首先,將適配器列表設為公共屬性:

public MainWindow()
{
    InitializeComponent();
    Adapters = new ObservableCollection<Netadapter>();
    // Add adapters
    this.DataContext = this;
}

public ObservableCollection<Netadapter> Adapters { get; set; }

其次,將公共屬性綁定到ListViews ItemsSource

<ListView Grid.Column="0" Grid.ColumnSpan="2" Width="auto" Margin="10" Name="ListView" ItemsSource="{Binding Adapters}" >

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM