2015-11-26 5 views
0

У меня есть combobox, связанный с набором объектов с такими свойствами, как номер &. Внутри я установил свой combobox SelectedValuePath в NAME.Изменить SelectedValuePath во время выполнения

<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"/> 

В некотором случае, когда имя равно null, я меняю SelectedValuePath своего поля со списком. Как показано в примере кода ниже

if (item.NAME == null) 
{ 
    LHScmb.SelectedValuePath = "NUMBER"; 
} 

Но это дает исключение Входная строка не была в правильном формате.

Есть ли другой способ установить SelectedValuePath во время выполнения.

ответ

2

Я полагаю, ваша проблема не связана с установкой SelectedValuePath, но ваше свойство NUMBER является числовым. Поэтому, если в поле со списком есть строка, которая не может быть интерпретирована как число, и вдруг вы попытаетесь связать ее с вашим числовым свойством, вы получите эту ошибку.

Смежные вопросы