Search code examples
c#win-universal-appwindows-10-universalwindows-10-desktop

Binding List of user controls to flipview?


I am planning to implement horizontal list of user controls, which i want to add it to the flip view during runtime, I tried the following code:

<FlipView Grid.Row="2" Name="SlideFlipView"
              ItemsSource="{x:Bind SlideViews}"
              SelectionChanged="SlideFlipView_SelectionChanged"
              Background="AliceBlue">
        <FlipView.ItemTemplate>
            <DataTemplate>
                <Frame Name="MenuDetailFrame" SourcePageType="{Binding}"/>
            </DataTemplate>
        </FlipView.ItemTemplate>
</FlipView>

Class looks like the following code:

 public sealed partial class MenuDetailPage : Page
 {
    private List<object> SlideViews;

    public MenuDetailPage()
    {
        this.InitializeComponent();
        LoadInitials();
    }

    private void LoadInitials()
    {
        SlideViews = new List<object>
        {
            typeof(TopImageBottomTextControl),
            typeof(TopTextBottomImageControl)
        };
    }
 }

but the user control doesn't appear in the flip when I run the program. Let me know if I am missing something here


Solution

  • following code without datatemplate worked for me:

    <FlipView Grid.Row="2" 
              Name="SlideFlipView" 
              ItemsSource="{x:Bind SlideViews}"
              SelectionChanged="SlideFlipView_SelectionChanged"
              Background="AliceBlue">
    </FlipView>
    

    initialization of slideviews object in Class looks like

    private void LoadInitials()
    {
      SlideViews = new List<object>
      {
        new UserControl1(),
        new UserControl2()
      };
    }