我有一个问题,因为我可以摆脱几天。我试图从一个子帧导航到另一个帧,事实是,我认为我实际导航到它,因为执行了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));
我该怎么做才能解决这个问题?
答案 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”并创建一个新的