DockPanel不显示孩子

时间:2015-04-20 12:49:37

标签: c# wpf

这是我的MainWindow XAML:

<Window x:Class="SomeApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="" Height="200" Width="400"
        WindowStartupLocation="CenterScreen" Name="ViewData">
    <DockPanel LastChildFill="True" Name="splMain" Background="{StaticResource GreyGradient}"></DockPanel>
</Window>

这里是动态儿童创作的代码:

 private void ViewImgData(SubPod subPod)
        {
            var wb = new WebBrowser();
            wb.Navigate(subPod.Image.Src);
            DockPanel.SetDock(wb, Dock.Top);
            ((MainWindow)System.Windows.Application.Current.MainWindow).splMain.Children.Add(wb);

        }

此方法至少被调用两次,但在输出窗口中只能看到1个图像。我哪里弄错了?

编辑:这就是我调用ViewImgData方法的方式:

foreach (SubPod subPod in pod.SubPods)
                        {
                            Application.Current.Dispatcher.BeginInvoke(
                             DispatcherPriority.Background,
                             new Action(() => ViewImgData(subPod)));
                        }
编辑:是否有可能通过任何其他控制实现我的意图?感谢?

1 个答案:

答案 0 :(得分:2)

问题是两个WebBrowser控件都将Dock属性设置为Top,而WebBrowser没有最小宽度。意味着第一个控制将崩溃,有利于第二个。尝试为每个WebBrowser设置Height / MinHeight属性,或者选择一些不同的父控件(为什么要使用DockPanel?)。