如何指定可以访问选定项属性的MultipleSelectionBoxTemplate
我有个员工班
public class Employee {
public string Firstname {get;set;}
public string Lastname {get;set;}
}我在wpf应用程序中使用Telerik radCombobox显示员工列表。
<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。
<telerik:RadComboBox.MultipleSelectionBoxTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Lastname}" />
</DataTemplate>
</telerik:RadComboBox.MultipleSelectionBoxTemplate>没有结果,所选项目的组合框显示值始终为空。
我尝试了另一个解决方案
<telerik:RadComboBox.MultipleSelectionBoxTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=SelectedItems,Converter={StaticResource SelectionToCustomStringCoverter}}" />
</DataTemplate>
</telerik:RadComboBox.MultipleSelectionBoxTemplate>这两种方法都不起作用,转换器总是在第一选择时执行。
这真是太疯狂了,花了4个小时找出一件简单的事情,所以我的问题是如何指定MultipleSelectionBoxTemplate,我可以访问所选项的属性。
发布于 2022-08-16 10:35:25
这两种方法都不起作用,转换器总是在第一次选择时执行
您需要绑定到在选择更改时实际设置的属性,例如Count集合的SelectedItems属性。
尝试使用多值转换器和MultiBinding
<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]中获取当前选定的项。
https://stackoverflow.com/questions/73370985
复制相似问题