TwoPaneView с платформой Uno
Я хочу разработать приложение для нового Surface Neo, используя платформу Uno. Для этого я попытался реализоватьTwoPaneView
в моем MainPage.xaml, но он не распознается должным образом. Также я загрузил NuGet-пакет Uno.DualScreen, но это не решило проблему.
Только с UWP и WinUI 2.4 он отлично работает, но, к сожалению, я не могу использовать android/ios с этим решением:
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
...
<muxc:TwoPaneView/>
Кто-нибудь знает, как это правильно работает с платформой Uno?
1 ответ
Я без проблем использовал TwoPaneView в решении Uno Platform. Вам необходимо обновить все "головные" проекты до последней предварительной версии пакета Uno.UI, а затем установить пакет Nuget Microsoft.UI.Xaml в заголовке UWP. TwoPaneView реализован в пакетах Uno.UI и Microsoft.UI.Xaml (в одном пространстве имен) и условно компилируется. Вам не нужно объявлять конкретное пространство имен для TwoPaneView, и вы можете просто использовать:
<Page
x:Class="TwoPainView.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="Green">
<TwoPaneView Pane1Length="0.3*" Pane2Length="0.7*" Background="Yellow" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinWideModeWidth="100">
<TwoPaneView.Pane1>
<Border>
<Rectangle Fill="LightBlue" />
</Border>
</TwoPaneView.Pane1>
<TwoPaneView.Pane2>
<Border>
<Rectangle Fill="LightGreen"/>
</Border>
</TwoPaneView.Pane2>
</TwoPaneView>
</Grid>
</Page>
У меня есть хранилище GitHub здесь, который я использовал, чтобы сообщить эту проблему для Uno. Он использует TwoPaneView и отлично работает как на UWP, так и на Android (должен работать на iOS, но у меня нет устройства iOS для тестирования), поэтому может помочь вам начать работу.
Надеюсь, это поможет.