我遇到了困难的绑定情况。我正在使用Telerik RadGridView和GridViewComboBoxColumn。我有两个组合框“发件人”和“收件人”分开登录List<int>
。当用户放开From组合框时,所呈现的值应反映“可用”整数范围。可用整数由当前行的From和To范围中的整数范围减去其他行中的范围组成。困难telerik:RadCombobox ItemsSource绑定
我遇到的问题是From组合框是一个绑定List<int>
,当我创建可用的整数列表时,它将删除在所有其他非选定行中找到的整数范围。例如,如果我有List<int>
1-48,第一行的范围是25-36,第二行的范围是37-42。当用户在第一行打开“发件人”组合框时,会显示列表1-36和43-48。范围37-42不可用,因为它在第二行使用。
行1 从= 25要= 36 行2 从= 37要= 42
这是问题: 由于绑定列表中不包含的整数37-42会发生什么是第二行的选定项目在列表中不再可用,并且不会显示在网格中。 第2行的来自组合框应在行1的来自组合框关闭后显示'37'。我需要一种方法来记住未选定的行的值,并在From组合框中显示这些值,即使它们未在绑定列表中找到。
FYI:我不关心这里组合框,它很可能为FROM也可以应用到组合框的任何解决方案。
我知道这是混淆,请问如果你有问题。基本上我需要一种方法来保留选定项目的非选定行,当这些项目不再出现在绑定列表中时。我只需要显示原始选定的值。第二行组合框中的项目在打开下拉菜单之前并不重要。然后,这种情况反转,我需要能够调出第一行的选定项目。
telerik:GridViewComboBoxColumn x:Name="cboFrom2" Header="From" Width="Auto"
IsFilterable="False" IsGroupable="False" IsReorderable="False" IsSortable="False"
DataMemberBinding="{Binding StrandFrom}" EditTriggers="CellClick" >
<telerik:GridViewComboBoxColumn.EditorStyle>
<Style TargetType="telerik:RadComboBox">
<Setter Property="OpenDropDownOnFocus" Value="True"/>
</Style>
</telerik:GridViewComboBoxColumn.EditorStyle>
</telerik:GridViewComboBoxColumn>
蕾切尔,我喜欢你的想法。不幸的是我没有使用MVVM。不过,我正在考虑将此控件移到MVVM,因为我没有看到其他方法。 – GAR8
@ GAR8即使没有MVVM设计模式,它也应该可以工作 – Rachel