[英]Add comboBox to listview programmatically in wpf
我在wpf中有一個ListView
<ListView Name="listArea">
<ListView.View>
<GridView>
<GridViewColumn x:Name="colName" Header="نام تحویلدار" Width="150" DisplayMemberBinding="{Binding Path=name}"/>
<GridViewColumn x:Name="colComboBox" Header="منطقه" Width="120" DisplayMemberBinding="{Binding Path=cb}"/>
</GridView>
</ListView.View>
</ListView>
我想將項目添加到列表視圖。 第一列是文本,秒數是comboBox。
foreach(personel ptahvildar in STATICS.db.personels.Where(q=>q.postCode==2))
{
ListViewItem item = new ListViewItem();
ComboBox cbox = new ComboBox();
cbox.ItemsSource = STATICS.db.personels.Where(q => q.postCode == 2);
cbox.DisplayMemberPath = "name";
cbox.SelectedItem = ptahvildar;
item.Content = new { name = ptahvildar.name, cb = cbox };
listArea.Items.Add(item);
}
但結果是這樣的
為什么我的comboBox無法正確顯示?
您應該修改ListView.itemTemplate屬性並添加數據模板。
通過將項目模板與數據模板一起使用,可以為列表視圖中的每個訂單項添加復選框,組合框,文本框,按鈕等。 這是SO中答案的示例。
<ListView ItemsSource="{Binding Links}" x:Name="ListView1">
<ListView.ItemTemplate>
<DataTemplate>
<Border>
<Button Command="{Binding ElementName=ListView1, Path=DataContext.GetOddsCommand}" CommandParameter="{Binding}">
<TextBlock Text="{Binding}" />
</Button>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
除了只需要使用組合框而不是按鈕並使用適當的綁定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.