XAML代码:
<ComboBox x:Name="CbLinge" HorizontalAlignment="right" Margin="0,150,0,0" VerticalAlignment="Top" Width="300" Height="25" RenderTransformOrigin="1.018,0.565 "
ItemsSource="{Binding GetLinge}"
DisplayMemberPath="Linge"
SelectedValuePath="Linge"
SelectedValue="{Binding FinishedManual.Ligne}"/>
C#代码:
public void _fillLinge()
{
List<FinishedManualPrintingLinge> linge = _finishedProductService.GetFinishedManualLinge().ToList();
foreach (var item in linge)
{
GetLinge.Add(item);
}
}
通过这段代码,我可以从数据库中获取值,并可以在Dropdown中显示。
问题: “木质”的下拉列表链接到订单表中可用的数据。但是,如果该行有任何顺序,则在下拉菜单“ Ligne”中不可见。因此,应使用(1,4,6,7,8,9,10)进行硬编码/填充。
现在,如果选择order:x,我不确定如何显示硬编码值。
答案 0 :(得分:0)
选项1
显示一组硬编码的值:
这是我的操作方法:
<ComboBox ItemsSource="{Binding GetLinge, TargetNullValue='123456789', FallbackValue='123456789'}"/>
在您的情况下,您可以使用TargetNullValue
来填充值。 10
可能有点棘手,因为字符串是IEnumerable
,因此它将从数组中选择单个字符。但是我认为这将把您推向正确的方向。
选项2
另一个选择是修改public void _fillLinge()
方法,并在找不到任何方法时返回默认值。
选项3
另一种选择是使用转换器,该转换器将提供默认项目,而不是修改public void _fillLinge()
方法。
选择是您的。