在UWP中将C#代码转换为VB.NET [英] Translating C# code to VB.NET in UWP
问题描述
我正在尝试识别来自inkcanvas控件的手写内容。正如我之前所说,我正在将我的Windows手机应用程序翻译为UWP。现在我试图通过inkcanvas控件识别手写输入,这对我来说是一个新的控件。我在网上搜索了
,但只能获得C#代码。好吧,我是一个vb.net爱好者,这是我迄今为止所管理的......
< Page
x:Class =" DigiKid .MainPage"
xmlns =" http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x =" http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local =" using:DigiKid"
xmlns:d =" http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc =" http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable =" d"宽度= QUOT; 552.845">
< Grid Background =" {ThemeResource ApplicationPageBackgroundThemeBrush}">
< Grid.RowDefinitions>
< RowDefinition Height =" Auto" />
< RowDefinition Height =" *" />
< /Grid.RowDefinitions>
< StackPanel x:Name =" HeaderPanel"
Orientation =" Horizontal"
Grid.Row =" 0">
< TextBlock x:Name =" Header"
Text =" Basic ink recognition sample"
Style =" {ThemeResource HeaderTextBlockStyle}"
Margin =" 10,0,0,0" />
<按钮x:名称="识别"
Content ="识别"
Margin =" 50,0,10,0" />
< / StackPanel>
< Grid Grid.Row =" 1">
< Grid.RowDefinitions>
< RowDefinition Height =" *" />
< RowDefinition Height =" Auto" />
< /Grid.RowDefinitions>
< InkCanvas x:Name =" inkCanvas"
Grid.Row =" 0" />
< TextBlock x:Name =" recognitionResult"
Grid.Row =" 1"
Margin =" 50,0,10,0" />
< / Grid>
< / Grid>
< / Page>
导入Windows.UI.Input.Inking.InkPresenter
导入Windows.UI.Input.Inking .InkRecognizerContainer
导入Windows.UI.Input.Inking
'空白页项模板记录在https://go.microsoft.com/fwlink/?LinkId=402352&clcid= 0x409
'''< summary>
'''一个空页面,可以单独使用,也可以导航到Frame中。
'''< / summary>
Public NotInheritable Class MainPage
Inherits Page
Public Sub New()
'设计者需要此调用。
InitializeComponent()
'在InitializeComponent()调用后添加任何初始化。
inkCanvas.InkPresenter.InputDeviceTypes = Windows.UI.Core.CoreInputDeviceTypes.Touch或Windows.UI.Core.CoreInputDeviceTypes.Pen或Windows.UI.Core.CoreInputDeviceTypes.Mouse
End Sub
Private Async Sub RecognizeText()
Dim currentStrokes As IReadOnlyList(Of String)= inkCanvas.InkPresenter.StrokeContainer.GetStrokes()
if currentStrokes.Count> 0然后
Dim recognizerContainer As New Windows.UI.Input.Inking.InkRecognizerContainer
Dim recognitionResults = Await recognitionizerContainer.RecognizeAsync(inkCanvas.InkPresenter.StrokeContainer,InkRecognitionTarget.All)
如果recognitionResults.Count> 0然后
Dim MyString As String =""
Dim R
For Each R In recognitionResults
MyString = R.GetTextCandidates()[0]
Next
End if
End If
结束次级
结束等级
在"For Each"中部分,我收到一个错误,导致"[0]"的下划线。并说'标识符预期'。我正在翻译的C#代码可以在这里找到 http://liliankasem.com/2015/11/26/uwp-live-handwriting-recognition/
有人请帮我识别VB.NET中的手写或翻译代码。提前致谢。
Hi Emmanuel Muema
您可以将"[0]"更改为"(0)"然后构建。它将成功构建。
最好的问候
罗伊&NBSP; 跨度>
Hi,
I am trying to recognize handwriting from inkcanvas control. As I had said earlier, I am translating my windows phone app to UWP. Now I am trying to recognize handwriting input through inkcanvas control and it is a new control to me. I searched the internet intensively but can only get C# code. Well, I am a vb.net lover and this is what I have managed so far...
<Page x:Class="DigiKid.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:DigiKid" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Width="552.845"> <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <StackPanel x:Name="HeaderPanel" Orientation="Horizontal" Grid.Row="0"> <TextBlock x:Name="Header" Text="Basic ink recognition sample" Style="{ThemeResource HeaderTextBlockStyle}" Margin="10,0,0,0" /> <Button x:Name="recognize" Content="Recognize" Margin="50,0,10,0"/> </StackPanel> <Grid Grid.Row="1"> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <InkCanvas x:Name="inkCanvas" Grid.Row="0"/> <TextBlock x:Name="recognitionResult" Grid.Row="1" Margin="50,0,10,0"/> </Grid> </Grid> </Page>
Imports Windows.UI.Input.Inking.InkPresenter Imports Windows.UI.Input.Inking.InkRecognizerContainer Imports Windows.UI.Input.Inking ' The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 ''' <summary> ''' An empty page that can be used on its own or navigated to within a Frame. ''' </summary> Public NotInheritable Class MainPage Inherits Page Public Sub New() ' This call is required by the designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. inkCanvas.InkPresenter.InputDeviceTypes = Windows.UI.Core.CoreInputDeviceTypes.Touch Or Windows.UI.Core.CoreInputDeviceTypes.Pen Or Windows.UI.Core.CoreInputDeviceTypes.Mouse End Sub Private Async Sub RecognizeText() Dim currentStrokes As IReadOnlyList(Of String) = inkCanvas.InkPresenter.StrokeContainer.GetStrokes() If currentStrokes.Count > 0 Then Dim recognizerContainer As New Windows.UI.Input.Inking.InkRecognizerContainer Dim recognitionResults = Await recognizerContainer.RecognizeAsync(inkCanvas.InkPresenter.StrokeContainer, InkRecognitionTarget.All) If recognitionResults.Count > 0 Then Dim MyString As String = "" Dim R For Each R In recognitionResults MyString = R.GetTextCandidates()[0] Next End If End If End Sub End Class
In the "For Each" part, I am getting an error which is causing underlining of "[0]" and says 'Identifier expected'. The C# code I am translating can be found here http://liliankasem.com/2015/11/26/uwp-live-handwriting-recognition/
Someone please help me in recognizing handwriting in VB.NET or translating the code. Thanks in advance.
Hi Emmanuel Muema
You could change "[0]" to "(0)" then build. It will be build successfully.
Best Regards
Roy
这篇关于在UWP中将C#代码转换为VB.NET的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!