#c# #uwp
#c# #uwp
Вопрос:
Хорошо, итак, я пытаюсь научиться создавать приложения в UWP, и я пытался заставить «Graph Tutorial» работать. (https://learn.microsoft.com/en-us/graph/tutorials/uwp?tutorial-step=1 )
Я следовал инструкциям на этой странице, шаг за шагом, и когда я перехожу к этапу отладки, он останавливается на MainPage.xaml.cs, за исключением this.initializeComponent();
Сообщение об исключении мне не очень помогает, так как в нем говорится
Windows.UI.Xaml.Разметка.XamlParseException: ‘Не удалось найти текст, связанный с этим кодом ошибки. Не удалось назначить свойству ‘Windows.UI.Xaml.ResourceDictionary.Источник», потому что тип «Windows.Фундамент.Строка «не может быть присвоена типу «Windows.Фонд.Ури». [Строка: 44 Позиция: 86]’
Теперь, очевидно, я делаю что-то неправильно, так как это буквально вырезанный и вставленный код. Но я понятия не имею, что это может быть. И поскольку все последующие части этого руководства основаны на правильной работе этого первого шага, я действительно не могу двигаться дальше. Есть какие-нибудь мысли?
Вот файл MainPage.xaml.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352amp;clcid=0x409
namespace GraphTutorial
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
// Initialize auth state to false
SetAuthState(false);
// Configure MSAL provider
// TEMPORARY
MsalProvider.ClientId = "11111111-1111-1111-1111-111111111111";
// Navigate to HomePage.xaml
RootFrame.Navigate(typeof(HomePage));
}
private void SetAuthState(bool isAuthenticated)
{
(Application.Current as App).IsAuthenticated = isAuthenticated;
// Toggle controls that require auth
Calendar.IsEnabled = isAuthenticated;
}
private void NavView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)
{
var invokedItem = args.InvokedItem as string;
switch (invokedItem.ToLower())
{
case "calendar":
throw new NotImplementedException();
break;
case "home":
default:
RootFrame.Navigate(typeof(HomePage));
break;
}
}
}
}
Вот MainPage.xaml
<Page
x:Class="GraphTutorial.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:GraphTutorial"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:providers="using:Microsoft.Toolkit.Graph.Providers"
xmlns:wgt="using:Microsoft.Toolkit.Graph.Controls"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Interactivity:Interaction.Behaviors>
<providers:InteractiveProviderBehavior x:Name="MsalProvider" />
</Interactivity:Interaction.Behaviors>
<Grid>
<NavigationView x:Name="NavView"
IsSettingsVisible="False"
ItemInvoked="NavView_ItemInvoked">
<NavigationView.Header>
<wgt:LoginButton x:Name="Login"
VerticalAlignment="Top"
HorizontalAlignment="Right" />
</NavigationView.Header>
<NavigationView.MenuItems>
<NavigationViewItem Content="Home" x:Name="Home" Tag="home">
<NavigationViewItem.Icon>
<FontIcon Glyph=""/>
</NavigationViewItem.Icon>
</NavigationViewItem>
<NavigationViewItem Content="Calendar" x:Name="Calendar" Tag="calendar">
<NavigationViewItem.Icon>
<FontIcon Glyph=""/>
</NavigationViewItem.Icon>
</NavigationViewItem>
</NavigationView.MenuItems>
<StackPanel>
<controls:InAppNotification x:Name="Notification" ShowDismissButton="true" />
<Frame x:Name="RootFrame" Margin="24, 0" />
</StackPanel>
</NavigationView>
</Grid>
</Page>
Комментарии:
1. Я только что добавил это выше.
2. Извините, я имею в виду файл MainPage.xaml.
3. Добавлено и это
Ответ №1:
Сообщение об исключении мне не очень помогает, поскольку в нем говорится
Во время тестирования проблема возникает в InAppNotification
элементе управления, пожалуйста, откройте консоль диспетчера пакетов и вызовите следующую команду для обновления Microsoft.Toolkit.Uwp.UI.Controls
до версии 7.0.0-preview2. Исключение исчезнет.
Install-Package Microsoft.Toolkit.Uwp.UI.Controls -Version 7.0.0-preview2