首先,让我说出我的意图。这是我正在寻找的最终结果。
Mockup Of Intent http://s18.postimg.org/x818zbfbb/image.png
然而,我的代码输出无法实现这一点。这就是我的所作所为。这是我的MainWindow XAML。
<Window x:Class="App.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">
<Grid Name="splMain" Background="{StaticResource GreyGradient}"></Grid>
</Window>
这是动态RowDefitions
创建的C#代码:
private void ViewImgData(SubPod subPod)
{
var wb = new WebBrowser();
wb.Navigate(subPod.Image.Src);
var rowDefinition = new RowDefinition();
rowDefinition.Height = GridLength.Auto;
splMain.RowDefinitions.Add(rowDefinition);
Grid.SetRow(wb, 0);
((MainWindow)System.Windows.Application.Current.MainWindow).splMain.Children.Add(wb);
}
我在这里打来电话。保证这个foreach
循环不止一次运行。 但是,我的输出窗口只显示1张图片而不是2张或更多,这也不占用窗口的整个空间。
foreach (SubPod subPod in pod.SubPods)
{
Application.Current.Dispatcher.BeginInvoke(
DispatcherPriority.Background,
new Action(() => ViewImgData(subPod)));
}
我在哪里弄错了?感谢。
答案 0 :(得分:1)
添加新行,但将新的webbrowser组件放在第0行。 尝试
Grid.SetRow(wb, splMain.RowDefinitions.Count-1);
相反,因为您需要在新行中放置新内容。
编辑: 要适合网格高度和宽度,请尝试将其添加到splMain网格
Width="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType={x:Type Window}}" Height="{Binding ActualHeight,RelativeSource={RelativeSource AncestorType={x:Type Window}}"