나는 현재 사용자가 읽고있는 책에서 선택한 장의 페이지 사이를 넘기 위해 FlipView
컨트롤을 사용하고있는 책 응용 프로그램이 있습니다.FlipView에 RichTextBlockOverflow 추가하기
동적으로의 페이지를 만들고 다음 코드로 FlipView
컨트롤의 항목로 추가 오전 :
private void CreateNewFlipPage(RichTextBlockOverflow columnContent, int page)
{
var fvItem = new FlipViewItem();
var grid = GetOverflowGrid(); // Pre-formatted grid with 4 columns (index 0, 2, 4, and 6) and three 30 pixel spacer columns in between (index 1, 3, and 5)
var overFlow1 = new RichTextBlockOverflow();
var overFlow2 = new RichTextBlockOverflow();
var overFlow3 = new RichTextBlockOverflow();
var overFlow4 = new RichTextBlockOverflow();
var pageText = new TextBlock
{
VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Bottom,
Opacity = 0.5,
FontSize = 18.667,
Margin = new Thickness(40, 0, 0, 0),
Foreground = Application.Current.Resources["ApplicationPageTextOppositeBackgroundThemeBrush"] as SolidColorBrush,
FontFamily = new FontFamily("Global User Interface"),
Text = "Page " + page
};
overFlow4.Margin = new Thickness(0, 0, 0, 40);
Grid.SetColumn(overFlow1, 0);
Grid.SetColumn(overFlow2, 2);
Grid.SetColumn(overFlow3, 4);
Grid.SetColumn(overFlow4, 6);
Grid.SetColumn(pageText, 6);
grid.Children.Add(overFlow1);
grid.Children.Add(overFlow2);
grid.Children.Add(overFlow3);
grid.Children.Add(overFlow4);
grid.Children.Add(pageText);
fvItem.Content = grid;
FlipView.Items.Add(fvItem);
overFlow1.OverflowContentTarget = columnContent;
overFlow2.OverflowContentTarget = overFlow1;
overFlow3.OverflowContentTarget = overFlow2;
overFlow4.OverflowContentTarget = overFlow3;
overFlow1.Measure(new Size(grid.ColumnDefinitions[0].ActualWidth, grid.ActualHeight));
overFlow2.Measure(new Size(grid.ColumnDefinitions[0].ActualWidth, grid.ActualHeight));
overFlow3.Measure(new Size(grid.ColumnDefinitions[0].ActualWidth, grid.ActualHeight));
overFlow4.Measure(new Size(grid.ColumnDefinitions[0].ActualWidth, grid.ActualHeight));
grid.UpdateLayout();
if (overFlow4.HasOverflowContent)
{
CreateNewFlipPage(overFlow4, page++);
}
}
그리고 UI가 업데이트되면 여기 내 초기 UI 방법이 코드를 호출 :
...
if (column4Content.HasOverflowContent)
{
CreateNewFlipPage(column4Content, 2); // column4Content is a RTBO object
}
...
마지막 부분을 호출하지 않으면 첫 번째 전체 페이지 만 표시됩니다. 나는 마지막 부분을 호출 할 경우
, 내가 첫 페이지에 처음 3 열을 얻을 항목은 FlipView
에 추가되지만 텍스트는 두 번째 페이지에 표시되지 않으며, 4 열은 어떻게하지 않다
사라 모든 RTBO 객체를 표시하도록하고 있습니까?