WPF ComboBox ItemTemplate 绑定到字符串集合

Posted

技术标签:

【中文标题】WPF ComboBox ItemTemplate 绑定到字符串集合【英文标题】:WPF ComboBox ItemTemplate binding to a string collection 【发布时间】:2014-11-26 03:25:34 【问题描述】:

我在 wpf 中有一个组合框,它绑定到 List<string>。一切正常,但现在由于某种原因我需要绑定到项目模板。组合框的 XAML 是

<ComboBox ItemsSource="Binding Tracks" SelectedItem="Binding SelectedTrack">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="Binding **WhatShouldBeHere**"></TextBlock>
            </StackPanel>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

如果我的数据源是自定义集合,那么绑定很容易,我应该只从自定义集合中传递属性名称,但是由于绑定源是字符串列表,那么绑定属性应该是什么?

【问题讨论】:

【参考方案1】:

应该是

<TextBlock Text="Binding"/>

相当于

<TextBlock Text="Binding Path=."/>

有关详细信息,请参阅Binding.Path MSDN 页面上的备注部分。

【讨论】:

以上是关于WPF ComboBox ItemTemplate 绑定到字符串集合的主要内容,如果未能解决你的问题,请参考以下文章

C#/WPF高手进!ComboBox.ItemTemplate用TextBlock正常,用TextBox就报错!

ComboBox ItemTemplate 仅在下拉列表中工作

wpf combox 在哪里设置下拉框的宽度和高度

WPF 数据模板

如何使 WPF 列表框中的列对于所有项目具有相同的宽度?

WPF 实现可以多选的 Combo box 有啥好的思路或解决方案