导航后,UWP页面的一部分不会刷新

时间:2019-09-03 14:05:44

标签: c# uwp

我已经开发了UWP应用。在页面的一部分中,底部有图表(来自Telerik),该图表有时会更改数据,然后必须进行更新。页面的此部分通过GridSplitter与页面顶部分开。

通过此页面就是主页。

第一次加载页面时,一切正常。同时更新图表也可以。

但是,如果我导航到另一个页面然后又导航回MainPage,则无法加载图表。同样,用数据刷新图表也不起作用。

我尝试使用另一个库(不是Telerik)中的图表-不起作用。

我已经建立了自己的图表控件-无法正常工作。

通过调用.UpdateLyout()更新控件也不起作用。

页面此部分的顶部确实起作用(它是GridView)。但是似乎页面的该部分完全或部分未完全显示在该部分的顶部(因为我使用的是ScrollViewer)没有刷新。但是在后面的代码中,我可以看到数据(也在控件中)已加载。

我还从包含的StackPanel中完全删除了无法正常工作的UserControl,然后添加了另一个简单的UserControl。但它不会刷新。另外,我确定已经从StackPanel中删除了该图表,该图表仍将显示,而新的UserControl将不会显示。

        <Grid Name="grd_all_content">
            <Grid.RowDefinitions>
                <RowDefinition MinHeight="100" />
                <RowDefinition Height="11" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <ucs:SprintListUC x:Name="sprintListUC" Grid.Row="0" />
            <controls:GridSplitter Foreground="White" Grid.Row="1" ResizeBehavior="BasedOnAlignment" ResizeDirection="Auto" Background="Gray" Height="11" HorizontalAlignment="Stretch" FontSize="13">
                <controls:GridSplitter.Element>
                    <Grid>
                        <TextBlock HorizontalAlignment="Center"  IsHitTestVisible="False"
                VerticalAlignment="Center" Text=""
                Foreground="Black" FontFamily="Segoe MDL2 Assets"/>
                    </Grid>
                </controls:GridSplitter.Element>
            </controls:GridSplitter>
            <Grid Name="grd_graphics" Grid.Row="2" Background="{ThemeResource SystemAltMediumColor}" Padding="10,10,10,20" SizeChanged="Grid_SizeChanged"
                  HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                <ScrollViewer x:Name="scrlvwr_charts">
                    <StackPanel Orientation="Vertical">
                        <TextBlock Foreground="#FFC31727" FontWeight="Bold" FontSize="20" Margin="0,0,0,20">Auswertung zu der aktuellen Sprint-Auswahl:</TextBlock>
                        <GridView HorizontalAlignment="Stretch" ItemsSource="{x:Bind Path=Evaluations}" SelectionMode="None">
                            <GridView.ItemTemplate>
                                <DataTemplate x:DataType="classes:Evaluation">
                                    <StackPanel Orientation="Vertical" Padding="5" BorderBrush="Gray" BorderThickness="1" Width="250" Background="#FFC31727">
                                        <TextBlock FontWeight="Bold" Foreground="White" Text="{x:Bind Path=Name}" />
                                        <TextBlock Margin="10,5,0,0" Foreground="White" Text="{x:Bind Path=Value}" />
                                    </StackPanel>
                                </DataTemplate>
                            </GridView.ItemTemplate>
                        </GridView>


                            <TextBlock Foreground="#FFC31727" FontWeight="Bold" FontSize="20" Margin="0,20,0,20">Sprints je KW (Gesamt und davon Erledigt):</TextBlock>
                            <telerik:RadCartesianChart PaletteName="DefaultLight" Height="250">
                                <telerik:RadCartesianChart.HorizontalAxis>
                                    <telerik:CategoricalAxis/>
                                </telerik:RadCartesianChart.HorizontalAxis>
                                <telerik:RadCartesianChart.VerticalAxis>
                                    <telerik:LinearAxis/>
                                </telerik:RadCartesianChart.VerticalAxis>
                                <telerik:RadCartesianChart.Grid>
                                    <telerik:CartesianChartGrid MajorLinesVisibility="Y" StripLinesVisibility="Y"/>
                                </telerik:RadCartesianChart.Grid>
                                <telerik:BarSeries ItemsSource="{x:Bind SprintsDoneAmountData}">
                                    <telerik:BarSeries.ValueBinding>
                                        <telerik:PropertyNameDataPointBinding PropertyName="Value"/>
                                    </telerik:BarSeries.ValueBinding>
                                    <telerik:BarSeries.CategoryBinding>
                                        <telerik:PropertyNameDataPointBinding PropertyName="Name"/>
                                    </telerik:BarSeries.CategoryBinding>
                                </telerik:BarSeries>
                                <telerik:BarSeries ItemsSource="{x:Bind SprintsAmountData}" CombineMode="Cluster">
                                    <telerik:BarSeries.ValueBinding>
                                        <telerik:PropertyNameDataPointBinding PropertyName="Value"/>
                                    </telerik:BarSeries.ValueBinding>
                                    <telerik:BarSeries.CategoryBinding>
                                        <telerik:PropertyNameDataPointBinding PropertyName="Name"/>
                                    </telerik:BarSeries.CategoryBinding>
                                </telerik:BarSeries>
                            </telerik:RadCartesianChart>

                            <TextBlock FontSize="16" FontStyle="Italic" Margin="5,5,0,0">(gelb = gesamt; blau = erledigt)</TextBlock>



                            <TextBlock Foreground="#FFC31727" FontWeight="Bold" FontSize="20" Margin="0,20,0,20">Einsparpotential je KW (in €):</TextBlock>
                            <telerik:RadCartesianChart PaletteName="DefaultLight" Height="250">
                                <telerik:RadCartesianChart.HorizontalAxis>
                                    <telerik:CategoricalAxis/>
                                </telerik:RadCartesianChart.HorizontalAxis>
                                <telerik:RadCartesianChart.VerticalAxis>
                                    <telerik:LinearAxis/>
                                </telerik:RadCartesianChart.VerticalAxis>
                                <telerik:RadCartesianChart.Grid>
                                    <telerik:CartesianChartGrid MajorLinesVisibility="Y" StripLinesVisibility="Y"/>
                                </telerik:RadCartesianChart.Grid>
                                <telerik:BarSeries ItemsSource="{x:Bind SavingPotensialsData}">
                                    <telerik:BarSeries.ValueBinding>
                                        <telerik:PropertyNameDataPointBinding PropertyName="Value"/>
                                    </telerik:BarSeries.ValueBinding>
                                    <telerik:BarSeries.CategoryBinding>
                                        <telerik:PropertyNameDataPointBinding PropertyName="Name"/>
                                    </telerik:BarSeries.CategoryBinding>
                                </telerik:BarSeries>
                            </telerik:RadCartesianChart>
                    </StackPanel>
                </ScrollViewer>
            </Grid>

GridView更新。但是其余的StackPanel内容没有。另外,如果我使用另一个简单的UserControl而不是Telerik控件。

这是一个非常棘手的问题。

0 个答案:

没有答案