簡體   English   中英

在WPF中以編程方式將comboBox添加到ListView

[英]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.

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