首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Silverlight 3 SelectionChanged中使用ItemTemplate时未触发ComboBox

在Silverlight 3 SelectionChanged中使用ItemTemplate时未触发ComboBox
EN

Stack Overflow用户
提问于 2009-11-04 11:48:55
回答 1查看 1.4K关注 0票数 1

我正在经历银光ComboBox的奇怪行为。我从一些简单的代码开始:

xaml:

代码语言:javascript
运行
复制
<ComboBox Name="drpInstallation" SelectionChanged="drpInstallation_SelectionChanged" />

政务司司长:

代码语言:javascript
运行
复制
List<string> installations = new List<string>();
installations.Add("Testing 123");
installations.Add("Antoher test");
installations.Add("Yeah");
drpInstallation.ItemsSource = installations;

当点击一个项目时,一切都很好。但是,如果我像这样在ItemTemplate中使用ComboBox:

xaml:

代码语言:javascript
运行
复制
<ComboBox Name="drpInstallation" SelectionChanged="drpInstallation_SelectionChanged">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <ComboBoxItem Content="{Binding Installation}" />
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

政务司司长:

代码语言:javascript
运行
复制
ICollection<InstallationClass> installations = a list of the installation class;
drpInstallation.ItemsSource = installations;

InstallationClass.cs:

代码语言:javascript
运行
复制
public class InstallationClass
{
    public int PK;
    public string Installation;
}

现在,ComboBox正确地显示,但是,当我单击文本时,如果没有发生任何事情。如果我只点击文本本身的右边,那么项目就会像平常一样被选中。重点是;自然要做的事情是点击文本本身,而不是点击它的左边或右边。知道为什么会发生这种情况吗?知道怎么纠正吗?这是银灯虫吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-16 22:23:56

您的DataTemplate应该如下所示:

代码语言:javascript
运行
复制
<ComboBox Name="drpInstallation" SelectionChanged="drpInstallation_SelectionChanged">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <TextBox Text="{Binding Installation}" />
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

问题是,ComboBoxItems使用的是单击事件,而不是冒泡事件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1673313

复制
相关文章

相似问题

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