#xaml #exception #windows-runtime #windows-phone-8.1 #xamarin.forms
#xaml #исключение #windows-среда выполнения #windows-phone-8.1 #xamarin.forms
Вопрос:
У меня есть следующие две части кода XAML в Xamarin.Проект переносной библиотеки XAML Forms:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TestApp.Views.TestView">
<ContentPage.ToolbarItems>
<ToolbarItem Text="{Binding ToolbarItemText}" Command="{Binding ToolbarItemCommand}" Order="Default" Priority="0"/>
</ContentPage.ToolbarItems>
<ContentPage.Content>
</ContentPage.Content>
</ContentPage>
и
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TestApp.Views.Test2View">
<MasterDetailPage.Master>
<ContentPage Title="Currencies">
</ContentPage>
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage>
<x:Arguments>
<ContentPage>
</ContentPage>
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
</MasterDetailPage>
При запуске проекта Windows Phone 8.1 (WinRT, а не Silverlight) у меня возникает следующее исключение:
E_UNKNOWN_ERROR
Ошибка HRESULT E_FAIL был возвращен из вызова COM-компонента.
Ответ №1:
Проблема в том, что вам НУЖНО указать пути к значкам для MasterDetailPage.Главная страница и для ToolbarIcon. Дополнительно для MasterDetailPage.На главной странице необходимо указать свойство Title.
Вот исправленные примеры кода:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TestApp.Views.TestView">
<ContentPage.ToolbarItems>
<ToolbarItem Text="{Binding ToolbarItemText}" Command="{Binding ToolbarItemCommand}" Order="Default" Priority="0">
<ToolbarItem.Icon>
<OnPlatform x:TypeArguments="FileImageSource"
Android="my-icon"
WinPhone="Assets/my-icon.png" />
</ToolbarItem.Icon>
</ToolbarItem>
</ContentPage.ToolbarItems>
<ContentPage.Content>
</ContentPage.Content>
</ContentPage>
и
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TestApp.Views.Test2View">
<MasterDetailPage.Master>
<ContentPage Title="Currencies">
<ContentPage.Icon>
<OnPlatform x:TypeArguments="FileImageSource"
Android="my-icon"
WinPhone="Assets/my-icon.png" />
</ContentPage.Icon>
</ContentPage>
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage>
<x:Arguments>
<ContentPage>
</ContentPage>
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
</MasterDetailPage>