我有一个组合框,它被绑定到具有数字和数字等属性的实体集合。名称。最初我将我的组合框SelectedValuePath设置为NAME。
<my1:ComboBox Name="LHScmb"
Width="Auto"
Height="Auto"
Grid.Row="0"
Grid.Column="0"
IsEditable="False"
DisplayMemberPath="VARNAME"
SelectedValuePath="NAME"
ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}},Path=DataContext.BRPARMINPT}"
SelectedValue="{Binding LHSITEMSRCECDE, UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
SelectionChanged="cmbLHS_SelectionChanged"/>
在某些情况下,当name为null时,我将组合框的SelectedValuePath更改为number。如下面的示例代码所示
if (item.NAME == null)
{
LHScmb.SelectedValuePath = "NUMBER";
}
但这会产生异常输入字符串的格式不正确。
还有其他方法可以在运行时设置SelectedValuePath。
答案 0 :(得分:2)
我认为您的问题不是设置SelectedValuePath,而是您的NUMBER
属性是数字。因此,如果组合框中有一个字符串无法解释为数字,并且突然您尝试将其绑定到数字属性,则会出现此错误。