这是我的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)));
}
编辑:是否有可能通过任何其他控制实现我的意图?感谢?
答案 0 :(得分:2)
问题是两个WebBrowser控件都将Dock属性设置为Top,而WebBrowser没有最小宽度。意味着第一个控制将崩溃,有利于第二个。尝试为每个WebBrowser设置Height / MinHeight属性,或者选择一些不同的父控件(为什么要使用DockPanel?)。