ReactorUI
  • What's ReactorUI for Xamarin
  • Guide
    • Setting up
    • Hello World Sample
    • Components
      • Component Lifecycle
      • Component Properties
      • Component with children
      • Navigation
      • Component Context
      • Reference to native controls
      • Animation
  • Native Tree and Visual Tree
    • Custom visual nodes
    • Custom Pages
  • Migrating from MVVM model
  • Integrating DI Containers
  • Hot reload troubleshooting
  • Styling and theming
  • Sample with SkiaSharp
Powered by GitBook
On this page

Was this helpful?

  1. Guide
  2. Components

Reference to native controls

Sometimes you need a reference to the native control (i.e. Xamarin Forms widget); for example, say you need to focus a control when component starts up, or need a reference to the page in order to call the DisplayAlart API to show a modal message box to the user.

In ReactorUI you can get a reference to the underling widget passing an Action argument when constructing the visual object.

For example in this code when a button is clicked an alert is displayed to user:

public class MainPage : RxComponent
{
    private Page _pageRef;

    public override VisualNode Render()
    {
        return new RxContentPage(pageRef => _pageRef = pageRef)
        {
            new RxButton("Click here!")
                .OnClick(OnButtonClicked)
                .VCenter()
                .HCenter()
        };
    }

    private async void OnButtonClicked()
        => await _pageRef.DisplayAlert("Sample Page", "Hello!", "Close");
}

NOTE: You can more easily access page containing the component using the property ContainerPage

PreviousComponent ContextNextAnimation

Last updated 5 years ago

Was this helpful?

Component reference sample