【问题标题】:Windows Phone Toolkit AutoCompleteBox bindingWindows Phone 工具包 AutoCompleteBox 绑定
【发布时间】:2014-05-27 05:40:05
【问题描述】:

我需要将数据绑定到 Windows Phone Toolkit 中 AutoCompleteBox 控件的下拉选项。

这是课程。我创建了这个类的对象数组,自动完成框的 itemsource 就是这个类的这个数组 -

public class MyClass
{
    public string Name { get; set; }
    public string Value { get; set; }
}

现在,我可以在自动完成框的下拉列表中显示“名称”,但问题出在这里-

当我从下拉列表中选择一个值(“名称”)时,自动完成框的文本会变成类似 -

"Classes.MyClass"

而不是我选择的值,例如 - 我选择“Jhon”,在下拉列表的选择更改事件中,我得到选定的对象,我可以从中获取“名称”属性。但我需要自动完成框中的文本为“Jhon”。该怎么做??

编辑:-

这里是 xaml

<toolkit:AutoCompleteBox Name="SearchText" Grid.Row="1" BorderBrush="DarkGray" Background="LightGray" Foreground="Gray" FilterMode="None" MinimumPrefixLength="0" KeyDown="SearchText_KeyDown" TextChanged="ACBSearchText_TextChanged" Loaded="SearchText_Loaded" SelectionChanged="ACBSearchText_SelectionChanged">
                    <toolkit:AutoCompleteBox.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Name}" Foreground="Black"/>
                        </DataTemplate>
                    </toolkit:AutoCompleteBox.ItemTemplate>
                </toolkit:AutoCompleteBox>

【问题讨论】:

  • @Sajeetharan 添加了我的 xaml。
  • @Sajeetharan 也在 keyDown 事件中,自动完成框不会将回车键注册为击键??
  • 这行得通吗?你能把它标记为答案吗!你需要在输入键上使用 KeyUP 事件
  • @Sajeetharan 谢谢你的朋友!你是最有帮助的!

标签: c# windows-phone-7 windows-phone-8 windows-phone-toolkit


【解决方案1】:

您需要将ValueMemberBinding 放入您的 AutoCompleteBox

<toolkit:AutoCompleteBox Name="SearchText" ValueMemberBinding="{Binding Name}"/>

【讨论】:

  • 每当我使用 selectionchanged 事件时,它会被调用两次??我不明白为什么,我什至创建了一个虚拟测试应用程序(只有一个字符串列表),它也有一个错误 - 当我选择一个项目时,它被选中,但是当我按下退格键时它会触发异常??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多