首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ComboBox ItemSource ObservationCollection

ComboBox ItemSource ObservationCollection
EN

Stack Overflow用户
提问于 2014-05-15 15:15:46
回答 1查看 89关注 0票数 0

我有一个组合框,它具有绑定到观察值集合的项源,并使用Data-template作为项模板。我在组合框.value上单击时遇到一个问题,它没有在组合框中显示所选值的值

下面是我的数据模板:

代码语言:javascript
复制
    <DataTemplate x:Key="ComboBoxTemplate">
            <StackPanel Orientation="Horizontal">
                <Rectangle Fill="{Binding ColorCode}" Width="30"  Height="15"/>
                <TextBlock Text="{Binding ColorName}" Margin="5,0,0,0"/>
            </StackPanel>

</DataTemplate>

下面是我的组合框:

代码语言:javascript
复制
    <ComboBox Name="cmbAccentColors" Grid.Column="1"  Width="130" Height="20" 
                               ItemsSource="{Binding Source={StaticResource ComboColorData}}"
                               ItemTemplate="{StaticResource ComboBoxTemplate}"
                              IsSynchronizedWithCurrentItem="True" MaxDropDownHeight="120"
                              SelectionChanged="cmbColors_SelectionChanged"
 >

    Private void cmbColors_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            if (!IsLoaded)
            {
                return;
            }

            MessageBox.Show(cmbAccentColors.SelectedItem.ToString());
        }
EN

回答 1

Stack Overflow用户

发布于 2014-05-15 15:20:23

将DisplayMemberPath添加到您的组合框。DisplayMemberPath指定路径。

DisplayMemberPath = "YourProperty";

这也是您访问所选项目的方式,

代码语言:javascript
复制
Private void cmbColors_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
string text = (sender as ComboBox).SelectedItem.Text;    
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23671595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档