Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用从WPF中的数据库获取的列表显示组合框的选择_C#_Wpf - Fatal编程技术网

C# 如何使用从WPF中的数据库获取的列表显示组合框的选择

C# 如何使用从WPF中的数据库获取的列表显示组合框的选择,c#,wpf,C#,Wpf,我有一个组合框,其中ItemSource绑定到ESTADO列表,这是我项目中的一个实体。组合框如下所示: <ComboBox Style="{StaticResource ComboBoxStyle}" Visibility="{Binding EstadoComboBox}" Name="CatalogoEstados" DisplayMemberPath="NOMBRE" SelectedValuePath="NOMBRE" SelectedValue="{Binding Estado

我有一个组合框,其中ItemSource绑定到
ESTADO
列表,这是我项目中的一个实体。组合框如下所示:

<ComboBox Style="{StaticResource ComboBoxStyle}" Visibility="{Binding EstadoComboBox}" Name="CatalogoEstados" DisplayMemberPath="NOMBRE" SelectedValuePath="NOMBRE" SelectedValue="{Binding Estado}" ItemsSource="{Binding Estados}">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="SelectionChanged">
            <i:InvokeCommandAction Command="{Binding SeleccionarEstadoCommand}" CommandParameter="{Binding ElementName=CatalogoEstados, Path=SelectedItem.ID}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</ComboBox>
Estado = pplDatosGenerales.ESTADO;

pplDatosGenerales.ESTADO
是一个字符串,其字符串项以前在组合框中选择过,但当我从构造函数中分配变量时,组合框视图没有显示所选的项,变量分配正确,但在视图中组合框显示为空,好像我没有选择任何内容。为什么会发生这种情况?我该如何解决?我希望组合框显示变量
Estado
的值。

您需要发布更多代码。您已经将
SelectedValuePath
设置为NOMBRE…如果NOMBRE是一个字符串,那么您的
SelectedValue
类型也应该是一个字符串,但您将其绑定到名为Estado的视图模型属性?在这种情况下,Estado也应该是一个字符串,在构造函数中,您可以改为使用'Estado=pplDatosGenerales.Estado.NOMBRE'


我怀疑这里的问题只是
SelectedValuePath
设置。删除它,您可能会发现这一切都会按照您的意愿开始工作。

之所以发生这种情况,是因为组合框ItemSource中没有Estado的值。调试项目后,我发现ItemSource中没有包含Estado的值。

事实上,NOMBRE是一个字符串,我将从组合框中选择的项的字符串值指定给字符串变量Estado,并在构造函数中指定Estado的pplDatosGenerales.NOMBRE的值,该值也是一个字符串。我从控件中删除了SelectedValuePath,当我从构造函数中分配Estado时仍然显示null。SelectedValuePath用于将对象Estado的属性NOMBRE分配给变量Estado,而不是将所有对象分配为字符串,如“nameofProject.MODEL.Estado”,此时该字符串应该可以工作,您的
Estado
属性是否支持INPC?只需创建一个包含“显示字符串”和“值”的模型,并将其绑定到组合框