如何在wpf中的滚动查看器中设置多个画布?
我想在画布控件中设置一个图像,并使用循环创建20个画布。问题是,当我想将所有这些画布项添加到滚动查看器中时,它不起作用。这是我的密码:如何在wpf中的滚动查看器中设置多个画布?,wpf,windows-phone-7,c#-4.0,scrollviewer,Wpf,Windows Phone 7,C# 4.0,Scrollviewer,我想在画布控件中设置一个图像,并使用循环创建20个画布。问题是,当我想将所有这些画布项添加到滚动查看器中时,它不起作用。这是我的密码: private void CreateAndShowCanvas() { List<Canvas> list = new List<Canvas>(); for (int i = 0; i < 20; i++) { Canvas myCanvas1 = new Canvas();
private void CreateAndShowCanvas()
{
List<Canvas> list = new List<Canvas>();
for (int i = 0; i < 20; i++)
{
Canvas myCanvas1 = new Canvas();
myCanvas1.Background = new SolidColorBrush(Colors.Transparent);
myCanvas1.Height = 235;
myCanvas1.Width = 626;
//Canvas.SetZIndex(myCanvas1, 4);
Image MainImage = new Image();
MainImage.Width = 275;
MainImage.Height = 235;
BitmapImage mi = new BitmapImage(new Uri("select_1.png", UriKind.Relative));
MainImage.Source = mi;
Canvas.SetTop(MainImage, 0);
Canvas.SetLeft(MainImage, 0);
myCanvas1.Children.Add(MainImage);
Image SeparatorImage = new Image();
BitmapImage si = new BitmapImage(new Uri("Sentre Seprator.png", UriKind.Relative));
SeparatorImage.Height = 270;
SeparatorImage.Source = si;
Canvas.SetTop(SeparatorImage, -5);
Canvas.SetLeft(SeparatorImage, 310);
myCanvas1.Children.Add(SeparatorImage);
Image SecondImage = new Image();
SecondImage.Width = 275;
SecondImage.Height = 235;
BitmapImage sci = new BitmapImage(new Uri("select_2.png", UriKind.Relative));
SecondImage.Source = sci;
Canvas.SetTop(SecondImage, 0);
Canvas.SetLeft(SecondImage, 350);
myCanvas1.Children.Add(SecondImage);
list.Add(myCanvas1);
}
scv.Content = list;
}
和XML格式:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ScrollViewer Name="scv" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled" Margin="60,40,59,46" Opacity="99" Background="Transparent" />
</Grid>
</Window>
当我运行它时,它只显示集合。请帮帮我,先谢谢你 A只能容纳一个子项,因此您需要另一种面板类型,如用于容纳画布的网格或堆栈面板
<Grid>
<ScrollViewer Name="scv" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled" Margin="60,40,59,46" Opacity="99" Background="Transparent">
<StackPanel Name="stp" />
</ScrollViewer>
</Grid>
将画布添加到stp中。您是否应该只使用一个包含画布的ItemTemplate的列表框?必须有一种比手动创建20张画布更简单的方法来完成您试图实现的任何事情
.您是为WPF还是Windows Phone 7开发的?这些不一样!如果我看一下您的代码Class=WpfApplication1.main窗口,我肯定您指的是WPF而不是WP7。。。