diff --git a/samples/XCT.Sample/Pages/TestCases/LinkerCameraViewPage.xaml b/samples/XCT.Sample/Pages/TestCases/LinkerCameraViewPage.xaml
new file mode 100644
index 000000000..9a3925413
--- /dev/null
+++ b/samples/XCT.Sample/Pages/TestCases/LinkerCameraViewPage.xaml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/XCT.Sample/Pages/TestCases/LinkerCameraViewPage.xaml.cs b/samples/XCT.Sample/Pages/TestCases/LinkerCameraViewPage.xaml.cs
new file mode 100644
index 000000000..42e4950be
--- /dev/null
+++ b/samples/XCT.Sample/Pages/TestCases/LinkerCameraViewPage.xaml.cs
@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Xamarin.CommunityToolkit.Sample.ViewModels;
+using Xamarin.CommunityToolkit.UI.Views;
+using Xamarin.Forms;
+using Xamarin.Forms.Xaml;
+
+namespace Xamarin.CommunityToolkit.Sample.Pages.TestCases
+{
+ public partial class LinkerCameraViewPage
+ {
+ int counter = 0;
+
+ public LinkerCameraViewPage()
+ {
+ InitializeComponent();
+ BindingContext = new CameraViewTestViewModel();
+ }
+
+ public void CameraView_OnAvailable(object sender, bool e)
+ {
+ shutterButton.IsEnabled = e;
+ }
+
+ public void CameraView_MediaCaptured(object sender, MediaCapturedEventArgs e)
+ {
+ shutterButton.Text = $"{++counter}";
+ previewPicture.Source = e.Image;
+ previewPicture.Rotation = e.Rotation;
+ }
+
+ void ShutterButtonClicked(object sender, EventArgs e)
+ {
+ cameraView.Shutter();
+ }
+ }
+
+ sealed class CameraViewTestViewModel : BaseViewModel
+ {
+ public Command