C# 通过代码将图像添加到Wrappanel

C# 通过代码将图像添加到Wrappanel,c#,wpf,image,wrappanel,C#,Wpf,Image,Wrappanel,我的WPF中有一个包裹,比如: <DockPanel x:Name="dockpnlCollection_Covers" HorizontalAlignment="Center" Grid.Row="0" Grid.Column="0" LastChildFill="False" Margin="0" > <WrapPanel x:Name="wpnlCollection_Covers" Orientation="Vertical" MinWidth="

我的WPF中有一个包裹,比如:

<DockPanel x:Name="dockpnlCollection_Covers" HorizontalAlignment="Center" Grid.Row="0" Grid.Column="0" LastChildFill="False" Margin="0" >
            <WrapPanel x:Name="wpnlCollection_Covers" Orientation="Vertical" MinWidth="520" VerticalAlignment="Top" HorizontalAlignment="Left" Height="Auto" Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ScrollViewer}}, Path=ActualWidth}"></WrapPanel>
        </DockPanel>
我的c代码看起来像:

for (int x = 0; x <= nmbr; x++)
            {
                cmddb.CommandText = "SELECT cover FROM movies Where nr = '" + x + "'";
                dbreader.Read();
                while (dbreader.Read())
                {
                    coverpath = (string)dbreader["cover"];
                    System.Windows.Controls.Image newIMG = new System.Windows.Controls.Image();
                    newIMG.Margin = new System.Windows.Thickness { Left = 6, Top = 5, Right = 6, Bottom = 5 };
                    newIMG.Source = new BitmapImage(new Uri(coverpath));
                    wpnlCollection_Covers.Children.Add(newIMG);
                }
            }

            dbreader.Close();
编译时我没有收到任何错误,但我的wrappanel保持空白,我不知道为什么

我在另一个页面上使用了几乎相同的代码来生成复选框控件,效果很好


谁能告诉我我做错了什么吗?

我的第一个猜测是,应该删除您最初的阅读

        cmddb.CommandText = "SELECT cover FROM movies Where nr = '" + x + "'";
        //dbreader.Read(); // is it wrong, maybe?
        while (dbreader.Read())
如果列nr是一个数字,则应修复您的查询:

cmddb.CommandText = "SELECT cover FROM movies Where nr = " + x.ToString();

您将其视为字符串,而不是在查询中使用“字符”的数字。

您是否尝试删除Width属性中的绑定有时我碰巧发现控件实际上已折叠,这就是为什么无法看到控件内部的控件的原因为什么不使用带有例如,ItemsControl可以执行此操作?是否确定列nr是varchar而不是数字?coverpath字符串不包含整个文件名,它缺少扩展名,请在解决方案资源管理器中查找图像的完整文件名路径。@bastio84:删除绑定没有帮助。我将查看ItemsControl,看看是否理解它-@CiccioRocca:不,这不是一个varchar,它实际上是一个数字。我的SQL命令有问题吗?就是这样。多谢各位:-