首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Telerik RadComboBox ItemTemplate和MultipleSelectionBoxTemplate

Telerik RadComboBox ItemTemplate和MultipleSelectionBoxTemplate
EN

Stack Overflow用户
提问于 2022-08-16 08:27:46
回答 1查看 54关注 0票数 0

如何指定可以访问选定项属性的MultipleSelectionBoxTemplate

我有个员工班

代码语言:javascript
复制
public class Employee {
public string Firstname {get;set;}
public string Lastname {get;set;}
}

我在wpf应用程序中使用Telerik radCombobox显示员工列表。

代码语言:javascript
复制
            <telerik:RadComboBox x:Name="radComboBox"
                                 Width="200" 
                                 AllowMultipleSelection="True" 
                                 ItemsSource="{Binding Path=EmployeeList}"  
                                 >

                <telerik:RadComboBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=Lastname}" />
                    </DataTemplate>
                </telerik:RadComboBox.ItemTemplate>

这对于itemtemplate来说很好,但是当我选择一个项时,combobox中的显示文本显示雇员类的名称,而不是我尝试过的Lastname。

代码语言:javascript
复制
                <telerik:RadComboBox.MultipleSelectionBoxTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=Lastname}" />
                    </DataTemplate>
                </telerik:RadComboBox.MultipleSelectionBoxTemplate>

没有结果,所选项目的组合框显示值始终为空。

我尝试了另一个解决方案

代码语言:javascript
复制
                <telerik:RadComboBox.MultipleSelectionBoxTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=SelectedItems,Converter={StaticResource SelectionToCustomStringCoverter}}" />
                    </DataTemplate>
                </telerik:RadComboBox.MultipleSelectionBoxTemplate>

这两种方法都不起作用,转换器总是在第一选择时执行。

这真是太疯狂了,花了4个小时找出一件简单的事情,所以我的问题是如何指定MultipleSelectionBoxTemplate,我可以访问所选项的属性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-16 10:35:25

这两种方法都不起作用,转换器总是在第一次选择时执行

您需要绑定到在选择更改时实际设置的属性,例如Count集合的SelectedItems属性。

尝试使用多值转换器和MultiBinding

代码语言:javascript
复制
<TextBlock>
    <TextBlock.Text>
        <MultiBinding Converter="{StaticResource SelectionToCustomStringCoverter}">
            <Binding Path="SelectedItems" RelativeSource="{RelativeSource AncestorType=telerik:RadComboBox}"/>
            <Binding Path="SelectedItems.Count" RelativeSource="{RelativeSource AncestorType=telerik:RadComboBox}"/>
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>

然后,您将从转换器中的values[0]中获取当前选定的项。

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

https://stackoverflow.com/questions/73370985

复制
相关文章

相似问题

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