Comments (2)
Hi. Unfortunately, due to incompatibilities in how both RN and XAML both want control over the layout of UI, once you use RNX to add a XAML control to your UI (esp. panels of any kind like SplitView / NavigationView) all children of those panels must also be RNX XAML controls.
So in the UI tree, you can have RN core components (like View
) which eventually have RNX leaf nodes, or you can avoid core components and use 100% RNX controls top to bottom.
It is not possible to support embedding core RN components within RNX panels.
from react-native-xaml.
Thanks for the response @jonthysell, I figured that might be the case. For anyone checking this issue in the future, what I ended up doing was adding a NavigationView
to the MainPage.xaml
that react-native-windows generates for you, wrapping react:ReactRootView
:
<Page
x:Class="desktop.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:desktop"
xmlns:react="using:Microsoft.ReactNative"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<NavigationView x:Name="MainNavigationView" SelectionChanged="NavView_SelectionChanged" BackRequested="NavView_BackRequested" Loaded="MainNavigationView_Loaded" >
<NavigationView.MenuItems>
<NavigationViewItem Content="Foo" Tag="foo" x:Name="DefaultNavViewItem"/>
</NavigationView.MenuItems>
<react:ReactRootView
x:Name="reactRootView"
ComponentName="desktop"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
MinHeight="400"/>
</NavigationView>
</Page>
Then wrote some native module code to send events from the native code back to react when navigation items are clicked. It works nicely.
from react-native-xaml.
Related Issues (20)
- Add way to use virtualization with list controls HOT 4
- This repo is missing important files
- RNX views don't implement Constructor<NativeMethods> HOT 2
- ContentDialog Opens Only Once HOT 3
- Build error in example/windows/example.sln with Microsoft.ReactNative, 'Mso::MustBeNoExceptVoidFunctor: not a noexcept callable functor returning void' HOT 3
- Import WinUI package only if OverrideWinUIPackage is not set to "true"
- Allow user to override CppWinRT version
- Update projects to newer RNW versions HOT 3
- Extend `RunReactNativeXamlCodeGen` target to support multiple WinMDs HOT 1
- Update docs to clarify difference between using WinUI and system XAML components HOT 4
- JS Promises are not being processed and RN app crashes when changing pages/rendering new components HOT 1
- Package Failing to Build: No Matching Overload "SetPropValue" HOT 5
- Add support to specify ItemsPanel for ItemsControl elements such as GridView HOT 2
- MSB4011 warning when building HOT 3
- Upgrade to RN and RNW 0.72
- Crash when running under Application Verifier
- Remove checked in pfx files
- Update RNX to target RNW 0.73
- Data Grid Control with its sort, selection, filter, search, pagination & other data grid functions HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-xaml.