UWP,从子框架

时间:2018-04-10 11:41:35

标签: c# uwp win-universal-app

我有一个问题,因为我可以摆脱几天。我试图从一个子帧导航到另一个帧,事实是,我认为我实际导航到它,因为执行了c#代码但是没有加载帧的内容(Textblock等)...

这是我的代码

主框架:

<ListView x:Name="listView1" IsItemClickEnabled="True" Grid.Row="1" 
   ItemClick="listView_ItemClickEvent">
       <ListView.ItemTemplate>
           <DataTemplate x:DataType="x:String">
               <StackPanel Grid.Column="1" Padding="10 5">
                   <TextBlock FontSize="20" Padding="0 5 0 0" Text="{Binding 
                       ProjCode}" Foreground="Black"/>
                   <TextBlock Padding="10 5 0 5" Text="{Binding Nome}" 
                      Foreground="#636567" />
               </StackPanel>
               <TextBlock Name="lblID" Visibility="Collapsed" 
                   Text="{Binding id}"/>                             
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

    <Frame Name="DetailsFrame"  Foreground="{x:Null}" Grid.Column="1"  
                   BorderThickness="1,0,0,0" Height="5000">
        <Frame.ContentTransitions>
            <TransitionCollection />
        </Frame.ContentTransitions>
    </Frame>

点击列表框架&#34; ProjectDetails&#34;加载到框架&#34; DetailsFrame&#34;。这包含另一个列表视图:

<ListView.ItemTemplate>

<DataTemplate x:DataType="x:String">
        <Border BorderBrush="LightGray" HorizontalAlignment="Stretch" >
            <Grid BorderBrush="Gray">
                <Grid.ColumnDefinitions>
                   ***
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                   ***
                </Grid.RowDefinitions>


            <TextBlock Text="{Binding Descrizione}"/>
                <TextBlock />
            <TextBlock Text="{Binding TempoTotale}"/>


            <TextBlock Name="lblID" Text="{Binding ID}" Visibility="Collapsed" />
            </Grid>
        </Border>
</DataTemplate>

当我点击列表时,从这个框架(ProjectDetails)我需要用另一个被称为&#34; TaskDetails&#34; ...对于这个任务,我使用了这个代码,但正如我之前所说,在TaskDetail页面上写的实际c#代码被执行但是没有加载像Ttextblock等的接口

Frame.Navigate(typeof(TaskDetails));

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:0)

您应该在ProjectDetails内加载DetailsFrame,在移至TaskDetails页面时,请使用:

DetailsFrame.Navigate(typeof(TaskDetails));

而不是Frame.Navigate(typeof(TaskDetails));

或者创建细节框架的静态实例并将其用于导航,如下所示:

在您的主页:

public static Frame NavigationFrame; 
public MainPage()
{
   this.InitializeComponent();
   NavigationFrame = DetailFrame;
}

在要执行导航的页面中,使用如下:

 MainPage.NavigationFrame.Navigate(typeof(SomeOtherPage));

答案 1 :(得分:0)

不知道为什么或如何,但我解决了一段时间后的问题,只是删除页面“TaskDetails”并创建一个新的