我有麻烦在System.Windows.Controls.Input工作自动完成框中如我所愿。当我开始输入下拉部,其显示过滤列表不显示我绑定属性,它显示的类名来代替。

因此在下面,我在我喜欢的类型的例子 - 而不是显示“我的名字”它显示MyNamespace.Person。然而,当我从自动完成列表中选择项目时,它会显示在文本框中的FullName属性。我敢肯定,我只是缺少一个简单的自动完成框属性的地方,但我无法看到它。

实施例的代码:

public class Person
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string FullName
        {
            get { return string.Format("{0} {1}", FirstName, LastName); }
        }
    }

在我的XAML代码背后我创建一些Person对象以及那些列表存储在一个列表并绑定到一个自动完成框

List<Person> people = new List<Person>();
people.Add(new Person { FirstName = "My", LastName = "Name" });
people.Add(new Person { FirstName = "Fernando", LastName = "Torres" });
acbNames.ItemsSource = people;

我XAML:

<my:AutoCompleteBox Name="acbNames" ValueMemberPath="FullName" />

/ *后进入“我的”,自动完成显示“MyNamespace.Person”而不是“我的名字”,但显示“我的名字”从列表中选择该项目* /

有帮助吗?

解决方案

原来我需要使用一个ItemTemplate用于AutoCompleteBox的下拉部分,所以它的XAML现在将如下所示:

<my:AutoCompleteBox Name="acbNames" ValueMemberBinding="{Binding FullName}">
            <my:AutoCompleteBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding FullName}"/>
                </DataTemplate>
            </my:AutoCompleteBox.ItemTemplate>
        </my:AutoCompleteBox>

其他提示

是的,你的问题是因为你没有把项目模板。 但是,如果你把项目模板,还是把问题读什么桑德罗wroted。

我有同样的问题。我解决它使用用于控制风格

静态资源

这是我所使用的样式:

<Style x:Key="autocomplete" TargetType="sdk1:AutoCompleteBox">
    <Setter Property="Margin" Value="5,0,5,0"/>
    <Setter Property="MinWidth" Value="100"/>
    <Setter Property="VerticalAlignment" Value="Center"/>
    <Setter Property ="HorizontalAlignment" Value="Right"/>
</Style>

如果我不使用这种风格我海关项目无法正确显示在我的DataItem配置,而不是显示它的类名。

份额|修改

这对我的作品太多,但只有当我申请了一些自定义主题风格的工具包。 还有一些其他的解决办法,当您使用从工具箱主题

最佳,

debarisi

我有同样的问题。我解决它使用用于控制风格

静态资源

这是我所使用的样式:

    <Style x:Key="autocomplete" TargetType="sdk1:AutoCompleteBox">
        <Setter Property="Margin" Value="5,0,5,0"/>
        <Setter Property="MinWidth" Value="100"/>
        <Setter Property="VerticalAlignment" Value="Center"/>
        <Setter Property ="HorizontalAlignment" Value="Right"/>
    </Style>

如果我不使用这种风格我海关项目无法正确显示在我的DataItem配置,而不是显示它的类名。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top