0

我正在使用 Windows Phone 7。

我必须将从 PhotoChooserTask 中选择的图像绑定到一个 ListBox 中,例如 Windows Phone 7 中的 Tiles。

我有一个这样的设计文件:

<ListBox x:Name="lstImages" Height="530" Margin="0,10,0,0"
                     ScrollViewer.VerticalScrollBarVisibility="Hidden">
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <Button Style="{StaticResource PickerBoxButton}" 
                                x:Name="btnDashboardItems"
                                Tag="{Binding Name}" 
                                Padding="0" Margin="-18,0,-12,-45" Height="200"
                                Width="200">                                    
                                    <Button.Template>
                                        <ControlTemplate>
                                            <StackPanel Height="173" Width="173">
                                                <Image Height="173" Width="173"
                                                       Source="{Binding Image}" /> 
                                            </StackPanel>
                                        </ControlTemplate>
                                    </Button.Template>
                                </Button>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                        <ListBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <toolkit:WrapPanel Width="450" Orientation="Horizontal" />
                            </ItemsPanelTemplate>
                        </ListBox.ItemsPanel>
                    </ListBox>

我有一个名为 ImageList 的类,如下所示:

public class ImageList
    {
        public string Name { get; set; }
        public BitmapImage Image { get; set; }
    }

我像这样绑定到列表框:

PhotoChooserTask task = new PhotoChooserTask();
task.Completed += new EventHandler<PhotoResult>(task_Completed);
task.Show();

在这里我可以选择任何图像数量所以我已经使用了列表框。

Random _Random = new Random();
 private void task_Completed(object sender, PhotoResult e)
        {
            if (e.TaskResult == TaskResult.OK)
             {
                System.IO.Stream stream = e.ChosenPhoto;
                BitmapImage bmp = new BitmapImage();
                bmp.CreateOptions = BitmapCreateOptions.None;
                bmp.SetSource(stream);
                img.Image = bmp;
                img.Name = _Random.Next(int.MaxValue).ToString() + ".jpg";
                StateUtilities.ImageList.Add(img);  
                if (StateUtilities.ImageList != null)
               {
                   if (StateUtilities.ImageList.Count > 0)
                   {
                      lstImages.ItemsSource = StateUtilities.ImageList;
                   }
               }    
             }
        }

在这里,我可以绑定图像,但图像的尺寸不同,但我给按钮和图像标签提供了固定尺寸(高度和宽度),但我仍然得到不同尺寸(不同高度和宽度)的图像。如何使图像以相同大小绑定?

谢谢,

阿维纳什

4

1 回答 1

0

我认为 StackPanel 会根据内容进行拉伸。

您是否也尝试过设置 MaxWidth 和 MaxHeight?

于 2012-07-11T08:31:37.440 回答