Можно ли получить доступ к переменной-члену внешнего класса в page.xaml.cs? - PullRequest
0 голосов
/ 13 декабря 2010

Я занимаюсь разработкой приложения для 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 Ответ

1 голос
/ 13 декабря 2010

Как я понимаю ваш вопрос, вы хотите создать растровое изображение в элементе MainPage, а затем получить к нему доступ из Confirm.Один из подходов заключается в создании открытого статического свойства некоторого класса для вашего растрового изображения.Например, возможно создайте public static BitmapImage FinalBitmap в вашем App.Затем вы можете установить значение свойства в вашем cameraCaptureTask_Completed, а затем создать обработчик Loaded в вашем классе Confirm, который устанавливает источник изображения для сохраненного растрового изображения.

Я думаю, что ответ на ваш вопросtitle - да, если вы делаете член статичным, хотя другой класс на самом деле не является «внешним».Обычный член класса не будет доступен, потому что у вас нет экземпляра этого класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...