Graph-Controls icon indicating copy to clipboard operation
Graph-Controls copied to clipboard

GraphPresenter doesn't work in a UWP app inside a Uno project

Open qmatteoq opened this issue 3 years ago • 2 comments

Describe the bug

The GraphPresenter control works fine when it's executed in a standalone UWP app, but it doesn't render when the same UWP app is part of an Uno-based solution.

  • [ ] Is this bug a regression in the toolkit? If so, what toolkit version did you last see it work:

Steps to Reproduce

Steps to reproduce the behavior:

  1. Create a new Uno solution
  2. Add the Microsoft.Toolkit.Graph.Controls NuGet to the UWP project
  3. Add the following XAML to the MainPage.xaml file in the shared project:
<Page
    x:Class="App13.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App13"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    xmlns:toolkit="using:Microsoft.Toolkit.Graph.Controls"
    xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"
    xmlns:providers="using:Microsoft.Toolkit.Graph.Providers"
    xmlns:graph="using:Microsoft.Graph"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">


    <Interactivity:Interaction.Behaviors>
        <providers:MockProviderBehavior />
    </Interactivity:Interaction.Behaviors>

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <toolkit:LoginButton Grid.Row="0" />

        <toolkit:GraphPresenter
              Grid.Row="1"
              RequestBuilder="{x:Bind providers:ProviderManager.Instance.GlobalProvider.Graph.Me.Messages, Mode=OneWay}"
              ResponseType="graph:Message"
              IsCollection="True">
            <toolkit:GraphPresenter.ContentTemplate>
                <DataTemplate>
                    <ScrollViewer HorizontalScrollMode="Disabled" VerticalScrollBarVisibility="Auto">
                        <ItemsControl ItemsSource="{Binding}">
                            <ItemsControl.ItemTemplate>
                                <DataTemplate x:DataType="graph:Message">
                                    <StackPanel>
                                        <toolkit:PersonView PersonQuery="{x:Bind Sender.EmailAddress.Address}" ShowName="True" Margin="-4"/>
                                        <TextBlock Text="{x:Bind Subject}" Style="{StaticResource BaseTextBlockStyle}" Padding="0"/>
                                    </StackPanel>
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                            <ItemsControl.ItemContainerStyle>
                                <Style TargetType="ContentPresenter">
                                    <Setter Property="Margin" Value="0,8,0,8"/>
                                </Style>
                            </ItemsControl.ItemContainerStyle>
                        </ItemsControl>
                    </ScrollViewer>
                </DataTemplate>
            </toolkit:GraphPresenter.ContentTemplate>
        </toolkit:GraphPresenter>
    </Grid>
</Page>

  1. Run the UWP app

Expected behavior

A list of mail, presented through the GraphPresenter control, is displayed in the main page. The control, instead, is empty. The same exact XAML code in a standalone UWP app (not part of an Uno solution) works fine.

Screenshots

This is the output of the UWP app included in the Uno solution:

image

This is the output, instead, of a standalone UWP app:

image

Environment

NuGet Package(s): Microsoft.Toolkit.Graph.Controls 

Package Version(s): 7.0.0-preview2

Windows 10 Build Number:
- [ ] Fall Creators Update (16299)
- [ ] April 2018 Update (17134)
- [ ] October 2018 Update (17763)
- [ ] May 2019 Update (18362)
- [x] October 2020 Update (19042)
- [ ] Insider Build (build number: )

App min and target version:
- [ ] Fall Creators Update (16299)
- [ ] April 2018 Update (17134)
- [ ] October 2018 Update (17763)
- [ ] May 2019 Update (18362)
- [x] October 2020 Update (19042)
- [ ] Insider Build (xxxxx)

Device form factor:
- [x] Desktop
- [ ] Xbox
- [ ] Surface Hub
- [ ] IoT

Visual Studio 
- [ ] 2017 (version: )
- [x] 2019 (version: 16.7.7 ) 
- [ ] 2019 Preview (version: )

Additional context

Add any other context about the problem here.

qmatteoq avatar Nov 04 '20 18:11 qmatteoq

Hello qmatteoq, thank you for opening an issue with us!

I have automatically added a "needs triage" label to help get things started. Our team will analyze and investigate the issue, and escalate it to the relevant team if possible. Other community members may also look into the issue and provide feedback 🙌

ghost avatar Nov 04 '20 18:11 ghost

Thanks @qmatteoq, there's an Uno fork repo here, but we need to update it to the latest code in here still. We haven't tested consuming the Microsoft.Toolkit.Graph.Controls package directly for Uno.

michael-hawker avatar Nov 17 '20 22:11 michael-hawker