簡體   English   中英

Xaml頁面之間的數據共享

[英]Data Sharing In between Xaml pages

我正在開發我的第一個Windows Phone應用程序及其天氣應用程序。我在主頁上有一個列表,其中會顯示國家名稱和當前溫度。現在,當我單擊列表中的任何一個國家時,頁面將導航到Xaml頁面將顯示有關天氣狀況的詳細信息。

但是我面臨的問題是,當我從那里導航到另一個Xaml頁面時,它應該以與以前相同的格式為我提供列表中下一個國家的詳細內容。

我可以知道這是怎么回事,因為我在這個領域還很新。

提前致謝

清單代碼

 <phone:LongListSelector x:Name="MainLongListSelector" DataContext="{Binding listData}" IsGroupingEnabled="False" >
            <phone:LongListSelector.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" Grid.Column="0">
                        <Image Name="condition" Source="{Binding Imagetype}" Height="80"   />
                        <Grid HorizontalAlignment="Center" >
                            <StackPanel Grid.Column="1" HorizontalAlignment="Center" Tap="StackPanel_Tap" Height="100" Width="270" >
                                <TextBlock Name="CountryName" Text="{Binding Country}" FontFamily="Times new roman" TextWrapping='Wrap' Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="25" Width="250" Height="30"/>

                                <TextBlock Name="Temp" Text="{Binding Temp}" FontFamily="times new roman" TextWrapping="Wrap"
                                       Style="{StaticResource PhoneTextExtraLargeStyle}"
                                       FontSize="20" Width="250" Height="25"
                                       ></TextBlock>
                            </StackPanel>
                        </Grid>
                        <Grid HorizontalAlignment="Right" >
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Column="3">
                                <Image Name="Button" Source="{Binding Remove}" Height="75" Width="75" Stretch="None" HorizontalAlignment="Right" Tap="Button_Tap"/>
                            </StackPanel>
                        </Grid>
                    </StackPanel>
                </DataTemplate>
            </phone:LongListSelector.ItemTemplate>
        </phone:LongListSelector>

Xaml詳細頁面的代碼

 <TextBlock HorizontalAlignment="Left" Margin="60,432,0,0" TextWrapping="Wrap" Text="{Binding WindSpeed}" VerticalAlignment="Top"/>
            <TextBlock HorizontalAlignment="Left" Text="{Binding Temperature}" FontFamily="SegoeWPLight" FontSize="240" Margin="44.791,43.086,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="374.478" Height="363.881" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
                <TextBlock.RenderTransform>
                    <CompositeTransform SkewY="0.314" TranslateY="0.741"/>
                </TextBlock.RenderTransform>

            </TextBlock>
            <Image HorizontalAlignment="Left" Height="37" Margin="25,370,0,0" VerticalAlignment="Top" Width="30"/>
            <Image HorizontalAlignment="Left" Height="37" Margin="157,370,0,0" VerticalAlignment="Top" Width="46"/>
            <Image HorizontalAlignment="Left" Height="37" Margin="303,370,0,0" VerticalAlignment="Top" Width="48"/>
        </Grid>
    </StackPanel>

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,32,12,0" Grid.RowSpan="2">
        <Grid.RowDefinitions>
            <RowDefinition Height="3*"/>
            <RowDefinition/>
        </Grid.RowDefinitions>



        <!--    <StackPanel Margin="12,0,12,0" Grid.RowSpan="2">-->
        <ScrollViewer VerticalScrollBarVisibility ="Disabled" HorizontalScrollBarVisibility="Hidden" Margin="-10,0,10,0" Grid.Row="1">
            <Grid Name="WeeklyUpdate" VerticalAlignment="Top" HorizontalAlignment="Left" Width="1652" Height="233">
                <!-- <Image Name="Image12"  Source="/Images/MenuIcons/w_thunder_cloud_rain.100.png" Height="102" Width="130" HorizontalAlignment="Left" VerticalAlignment="Top"  Margin="1430,0,0,102" MouseEnter="Image12_MouseEnter"/>-->
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="235*"/>
                    <ColumnDefinition Width="231*"/>
                    <ColumnDefinition Width="235*"/>
                    <ColumnDefinition Width="230*"/>
                    <ColumnDefinition Width="235*"/>
                    <ColumnDefinition Width="230*"/>
                    <ColumnDefinition Width="240*"/>
                    <ColumnDefinition Width="0*"/>
                </Grid.ColumnDefinitions>

                <!-- <Image Name="Image12"  Source="/Images/MenuIcons/w_thunder_cloud_rain.100.png" Height="102" Width="130" HorizontalAlignment="Left" VerticalAlignment="Top"  Margin="1430,0,0,102" MouseEnter="Image12_MouseEnter"/>-->
                <Image x:Name="Image1" Source="w_cloud_rain.100.png" Height="102" Width="130" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="54,50,0,0"  />
                <Image x:Name="Image2" Source="w_sun_cloud_wind.180.png" Height="102" Width="130" HorizontalAlignment="Left" VerticalAlignment="Top"  Margin="48,50,0,0" Grid.Column="1" />
                <Image x:Name="Image3" Source="w_cloud_rain.180.png" Height="102" Width="130" HorizontalAlignment="Left" VerticalAlignment="Top"  Margin="60,50,0,0" Grid.Column="2"/>
                <Image x:Name="Image4" Source="w_sun_cloud_wind.100.png" Height="102" Width="130" HorizontalAlignment="Left" VerticalAlignment="Top"  Margin="70,50,0,0"  Grid.Column="3"/>
                <Image x:Name="Image5" Source="w_sun_cloud_wind.140.png" Height="102" Width="130" HorizontalAlignment="Left" VerticalAlignment="Top"  Margin="74,50,0,0"  Grid.Column="4"/>
                <Image x:Name="Image6" Source="w_sun_cloud_wind.180.png" Height="102" Width="130" HorizontalAlignment="Left" VerticalAlignment="Top"  Margin="68,50,0,0"  Grid.Column="5"/>
                <Image x:Name="Image7" Source="w_thunder_cloud_rain.100.png" Height="102" Width="130" HorizontalAlignment="Left" VerticalAlignment="Top"  Margin="63,50,0,0"  Grid.Column="6"/>
                <TextBlock HorizontalAlignment="Left" Margin="25,18,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Text="{Binding Max1}"/>
                <TextBlock HorizontalAlignment="Left" Margin="175,18,0,0" TextWrapping="Wrap" Text="{Binding Min1}" VerticalAlignment="Top"/>
                <TextBlock HorizontalAlignment="Left" Margin="69,152,0,0" TextWrapping="Wrap" Text="Tomorrow" VerticalAlignment="Top"/>
                <TextBlock Grid.Column="1" HorizontalAlignment="Left" Margin="34,18,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Text="{Binding Max2}"/>
                <TextBlock Grid.Column="1" HorizontalAlignment="Left" Margin="161,18,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Text="{Binding Min2}"/>
                <TextBlock Grid.Column="1" HorizontalAlignment="Left" Margin="84,152,0,0" TextWrapping="Wrap" Text="Friday" VerticalAlignment="Top"/>
                <TextBlock HorizontalAlignment="Left" Margin="44,18,0,0" TextWrapping="Wrap" Text="{Binding Max3}" VerticalAlignment="Top" Grid.Column="2" />
                <TextBlock HorizontalAlignment="Left" Margin="168,18,0,0" TextWrapping="Wrap" Text="{Binding Min3}" VerticalAlignment="Top" Grid.Column="2"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Saturday" VerticalAlignment="Top" Grid.Column="2" Margin="87,152,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Max4}" VerticalAlignment="Top" Grid.Column="3" Margin="38,18,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Min4}" VerticalAlignment="Top" Grid.Column="3" Margin="161,18,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Sunday" VerticalAlignment="Top" Grid.Column="3" Margin="84,152,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Max5}" VerticalAlignment="Top" Grid.Column="4" Margin="34,18,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Min5}" VerticalAlignment="Top" Grid.Column="4" Margin="178,18,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Monday" VerticalAlignment="Top" Grid.Column="4" Margin="101,152,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Max6}" VerticalAlignment="Top" Grid.Column="5" Margin="38,18,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Min6}" VerticalAlignment="Bottom" Grid.Column="5" Margin="173,0,0,190"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Tuesday" VerticalAlignment="Top" Grid.Column="5" Margin="82,152,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Max7}" VerticalAlignment="Top" Grid.Column="6" Margin="39,18,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Min7}" VerticalAlignment="Top" Grid.Column="6" Margin="143,18,0,0"/>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Wednesday" VerticalAlignment="Top" Grid.Column="6" Margin="63,152,0,0"/>


            </Grid>
        </ScrollViewer>

我希望根據列表和滑動控件來更改此Xaml頁面。請幫助我。

謝謝

基本上,如如何在XAML頁面之間傳遞值(參數)所示,移動到新頁面時可以通過URL傳遞數據 之前在這里提出的問題。

或者,您可以將數據存儲在單例中,然后從不同位置更新和讀取數據,如“在頁面之間傳遞數據”問題中所示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM