gpt4 book ai didi

c# - 对于用户控件,如何设置项模板项到用户属性的绑定(bind)?

转载 作者:行者123 更新时间:2023-11-30 12:36:05 26 4
gpt4 key购买 nike

我有一个简单的用户控件,它本质上只是一个带有一些自定义逻辑的自动完成框。

对于一个特定的实例(一组人),我希望它看起来像这样:

<sdk:AutoCompleteBox Name="myACB" ItemsSource="{Binding People}" FilterMode="StartsWith" MinimumPrefixLength="2" ValueMemberBinding={Binding LastName}>
<sdk:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding LastName}" />
</DataTemplate>
</sdk:AutoCompleteBox.ItemTemplate>
</sdk:AutoCompleteBox>

但是,我想让数据源通用,因此显示值会有所不同(ValueMemberBinding 和模板 TextBlock 文本)。这就是我制作自定义控件的原因,以便我可以指定属性的差异。

我在使用用户控件属性设置源时没有问题,但我在显示绑定(bind)属性方面遇到了困难。现在我有:

public static DependencyProperty DisplayMemberProperty = DependencyProperty.Register("DisplayMember", typeof(string), typeof(myAutoComplete), null);

public string DisplayMember
{
get
{ return myACB.ValueMemberPath; }
set
{
myACB.ValueMemberPath = value; // this works fine
// but how can set the text binding for the templated textblock?
}
}

我希望 DisplayMember 属性成为我绑定(bind)到 AutoCompleteBox 的任何类型的自定义集合(人、汽车等)显示的属性名称。

我认为我无法以编程方式修改数据模板。有没有办法通过绑定(bind)(相对来源)来做到这一点?

最佳答案

我不确定这是否可行,但我认为您可以将文本直接绑定(bind)到 ValueMemberBinding 属性并使用转换器从中获取文本...

关于c# - 对于用户控件,如何设置项模板项到用户属性的绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com