@@ -5,102 +5,102 @@ namespace Maui.Controls.Sample;
55
66public partial class HybridWebViewControlPage : ContentPage
77{
8- private HybridWebViewViewModel _viewModel ;
8+ private HybridWebViewViewModel _viewModel ;
99
10- public HybridWebViewControlPage ( )
11- {
12- InitializeComponent ( ) ;
13- _viewModel = new HybridWebViewViewModel ( ) ;
14- MyHybridWebView . RawMessageReceived += OnRawMessageReceived ;
15- BindingContext = _viewModel ;
16- }
10+ public HybridWebViewControlPage ( )
11+ {
12+ InitializeComponent ( ) ;
13+ _viewModel = new HybridWebViewViewModel ( ) ;
14+ MyHybridWebView . RawMessageReceived += OnRawMessageReceived ;
15+ BindingContext = _viewModel ;
16+ }
1717
18- private async void OnEvaluateJavaScriptClicked ( object sender , EventArgs e )
19- {
20- var result = await MyHybridWebView . EvaluateJavaScriptAsync ( "document.title" ) ;
21- _viewModel . Status = $ "EvaluateJavaScriptAsync Result: { result } ";
22- }
18+ private async void OnEvaluateJavaScriptClicked ( object sender , EventArgs e )
19+ {
20+ var result = await MyHybridWebView . EvaluateJavaScriptAsync ( "document.title" ) ;
21+ _viewModel . Status = $ "EvaluateJavaScriptAsync Result: { result } ";
22+ }
2323
24- private async void OnHybridRootButtonClicked ( object sender , EventArgs e )
25- {
26- var button = ( Button ) sender ;
27- var selectedRoot = button . Text ;
28- _viewModel . HybridRoot = selectedRoot ;
29- MyHybridWebView . HybridRoot = selectedRoot ;
30- try
31- {
32- await MyHybridWebView . EvaluateJavaScriptAsync ( "window.location.reload();" ) ;
24+ private async void OnHybridRootButtonClicked ( object sender , EventArgs e )
25+ {
26+ var button = ( Button ) sender ;
27+ var selectedRoot = button . Text ;
28+ _viewModel . HybridRoot = selectedRoot ;
29+ MyHybridWebView . HybridRoot = selectedRoot ;
30+ try
31+ {
32+ await MyHybridWebView . EvaluateJavaScriptAsync ( "window.location.reload();" ) ;
3333
34- }
35- catch ( Exception ex )
36- {
37- _viewModel . Status = $ "HybridRoot changed to: { selectedRoot } (reload failed: { ex . Message } )";
38- }
39- }
34+ }
35+ catch ( Exception ex )
36+ {
37+ _viewModel . Status = $ "HybridRoot changed to: { selectedRoot } (reload failed: { ex . Message } )";
38+ }
39+ }
4040
41- private async void OnDefaultFileButtonClicked ( object sender , EventArgs e )
42- {
43- var button = ( Button ) sender ;
44- var selectedFile = button . Text ;
45- _viewModel . DefaultFile = selectedFile ;
46- MyHybridWebView . DefaultFile = selectedFile ;
41+ private async void OnDefaultFileButtonClicked ( object sender , EventArgs e )
42+ {
43+ var button = ( Button ) sender ;
44+ var selectedFile = button . Text ;
45+ _viewModel . DefaultFile = selectedFile ;
46+ MyHybridWebView . DefaultFile = selectedFile ;
4747
48- try
49- {
50- await MyHybridWebView . EvaluateJavaScriptAsync ( "window.location.reload();" ) ;
51- }
52- catch ( Exception ex )
53- {
54- _viewModel . Status = $ "DefaultFile changed to: { selectedFile } (reload failed: { ex . Message } )";
55- }
56- }
48+ try
49+ {
50+ await MyHybridWebView . EvaluateJavaScriptAsync ( "window.location.reload();" ) ;
51+ }
52+ catch ( Exception ex )
53+ {
54+ _viewModel . Status = $ "DefaultFile changed to: { selectedFile } (reload failed: { ex . Message } )";
55+ }
56+ }
5757
58- private int _messageCount = 0 ;
59- private void OnRawMessageReceived ( object sender , HybridWebViewRawMessageReceivedEventArgs e )
60- {
61- _messageCount ++ ;
62- if ( string . IsNullOrEmpty ( e . Message ) )
63- {
64- _viewModel . Status = $ "Message #{ _messageCount } : EMPTY";
65- }
66- else
67- {
68- _viewModel . Status = $ "Message: { e . Message } ";
69- }
70- }
58+ private int _messageCount = 0 ;
59+ private void OnRawMessageReceived ( object sender , HybridWebViewRawMessageReceivedEventArgs e )
60+ {
61+ _messageCount ++ ;
62+ if ( string . IsNullOrEmpty ( e . Message ) )
63+ {
64+ _viewModel . Status = $ "Message #{ _messageCount } : EMPTY";
65+ }
66+ else
67+ {
68+ _viewModel . Status = $ "Message: { e . Message } ";
69+ }
70+ }
7171
72- private async void OnSendMessageToJavaScriptClicked ( object sender , EventArgs e )
73- {
74- try
75- {
76- _viewModel . Status = "Sending message to index.html..." ;
77- await Task . Delay ( 500 ) ;
78- var message = $ "Hello from C#";
79- var jsCode = $@ "window.receiveMessageFromCSharp('{ message } ')";
80- var result = await MyHybridWebView . EvaluateJavaScriptAsync ( jsCode ) ;
81- _viewModel . Status = $ "Message sent successfully. Result: { result } ";
72+ private async void OnSendMessageToJavaScriptClicked ( object sender , EventArgs e )
73+ {
74+ try
75+ {
76+ _viewModel . Status = "Sending message to index.html..." ;
77+ await Task . Delay ( 500 ) ;
78+ var message = $ "Hello from C#";
79+ var jsCode = $@ "window.receiveMessageFromCSharp('{ message } ')";
80+ var result = await MyHybridWebView . EvaluateJavaScriptAsync ( jsCode ) ;
81+ _viewModel . Status = $ "Message sent successfully. Result: { result } ";
8282
83- }
84- catch ( Exception ex )
85- {
86- _viewModel . Status = $ "Failed to send message: { ex . Message } ";
87- }
88- }
83+ }
84+ catch ( Exception ex )
85+ {
86+ _viewModel . Status = $ "Failed to send message: { ex . Message } ";
87+ }
88+ }
8989
90- private void OnFlowDirectionCheckBoxChanged ( object sender , CheckedChangedEventArgs e )
91- {
92- _viewModel . FlowDirection = e . Value
93- ? FlowDirection . LeftToRight
94- : FlowDirection . RightToLeft ;
95- }
90+ private void OnFlowDirectionCheckBoxChanged ( object sender , CheckedChangedEventArgs e )
91+ {
92+ _viewModel . FlowDirection = e . Value
93+ ? FlowDirection . LeftToRight
94+ : FlowDirection . RightToLeft ;
95+ }
9696
97- private async void OnResetButtonClicked ( object sender , EventArgs e )
98- {
99- _viewModel = new HybridWebViewViewModel ( ) ;
100- BindingContext = _viewModel ;
101- MyHybridWebView . HybridRoot = _viewModel . HybridRoot ;
102- MyHybridWebView . DefaultFile = _viewModel . DefaultFile ;
103- await MyHybridWebView . EvaluateJavaScriptAsync ( "window.location.reload();" ) ;
97+ private async void OnResetButtonClicked ( object sender , EventArgs e )
98+ {
99+ _viewModel = new HybridWebViewViewModel ( ) ;
100+ BindingContext = _viewModel ;
101+ MyHybridWebView . HybridRoot = _viewModel . HybridRoot ;
102+ MyHybridWebView . DefaultFile = _viewModel . DefaultFile ;
103+ await MyHybridWebView . EvaluateJavaScriptAsync ( "window.location.reload();" ) ;
104104
105- }
105+ }
106106}
0 commit comments