是否可以在page.xaml.cs中访问外部类的成员变量?

时间:2010-12-13 09:41:06

标签: windows-phone-7 camera

我正在开发一个Windows Phone 7应用程序,我有两个xaml页面。从第一个开始,我嵌入了两个应用程序栏链接以从库中选择图像或使用相机捕获图像。我希望在第一页上选择的图像显示在第二页上,应用栏按钮显示确认是或否。截至目前,我在第一页(barcodeImage)上有一个图像控件,可以通过选择进行更新。

MainPage.xaml中

        <controls:PanoramaItem Header="welcome">
            <ScrollViewer Name="sv1" VerticalScrollBarVisibility="Auto">
                <StackPanel Height="1100">
                    <TextBlock TextWrapping="Wrap">Random text here.
                    </TextBlock>
                    <Grid x:Name="Grid2" Grid.Row="1" Margin="12,0,12,0">
                        <Image Height="150" Margin="28,30,168,0" Name="barcodeImage" Stretch="Fill" VerticalAlignment="Top" d:LayoutOverrides="VerticalAlignment" />
                    </Grid>
                </StackPanel>
            </ScrollViewer>
    </controls:PanoramaItem>

MainPage.xaml.cs中

        void cameraCaptureTask_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            BitmapImage bmp = new BitmapImage();
            bmp.SetSource(e.ChosenPhoto);
            barcodeImage.Source = bmp;
        }
    }

Confirm.xaml

        <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <Image Margin="64,36,57,100" x:Name="barcodeImageFinal" Stretch="Fill" />
    </Grid>

我希望barcodeImageFinal显示最终的位图。我怎样才能做到这一点?谢谢你看:))

1 个答案:

答案 0 :(得分:1)

根据我的理解,您希望在MainPage成员中创建位图,然后从Confirm访问该位图。一种方法是为您的位图创建某个类的公共静态属性。例如,可以在public static BitmapImage FinalBitmap中创建App。然后,您可以在cameraCaptureTask_Completed中设置属性的值,然后在Loaded类中创建一个Confirm处理程序,将图像源设置为存储的位图。

我认为你的问题标题的答案是肯定的,如果你使成员静态,虽然另一个类不是真正的“外部”。普通的类成员将无法访问,因为您没有该类的实例。