Windows Phone 7 ошибок - PullRequest
       1

Windows Phone 7 ошибок

0 голосов
/ 10 декабря 2011

http://i.stack.imgur.com/ZxpaP.png

InitializeComponent не объявлен. Может быть недоступен из-за уровня защиты.

http://i.stack.imgur.com/na20Z.png

* * 1010

CountTextBlock не является членом Tally.Tally.MainPage.

Понятия не имею, почему я получаю эти ошибки. Пожалуйста, проверьте ссылки на изображения ошибок. Я преобразовал код из C # в Vb.net, используя много конвертеров. Все они дают одинаковое преобразование.

Код: -

Imports System.Windows
Imports System.Windows.Input
Imports System.Windows.Navigation
Imports Microsoft.Phone.Controls
Imports Tally.WindowsPhoneApp ' For the Setting class



Namespace Tally
    Partial Public Class MainPage
        Inherits PhoneApplicationPage
        Private count As Integer = 0
        ' Remember what the user typed, for future app activations or launches:
        Private savedCount As New Setting(Of Integer)("SavedCount", 0)

        Public Sub New()
            InitializeComponent()
        End Sub

        ' Handle a tap anywhere on the page (other than the Button)
        Protected Overrides Sub OnMouseLeftButtonDown(ByVal e As MouseButtonEventArgs)
            MyBase.OnMouseLeftButtonDown(e)
            Me.count += 1
            Me.CountTextBlock.Text = Me.count.ToString("N0")
        End Sub

        ' Handle a tap on the button
        Private Sub ResetButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
            Me.count = 0
            Me.CountTextBlock.Text = Me.count.ToString("N0")
        End Sub

        Protected Overrides Sub OnNavigatedFrom(ByVal e As NavigationEventArgs)
            MyBase.OnNavigatedFrom(e)
            ' Persist state when leaving for any reason (Deactivated or Closing):
            Me.savedCount.Value = Me.count
        End Sub

        Protected Overrides Sub OnNavigatedTo(ByVal e As NavigationEventArgs)
            MyBase.OnNavigatedTo(e)
            ' Restore persisted state:
            Me.count = Me.savedCount.Value
            Me.CountTextBlock.Text = Me.count.ToString("N0")
        End Sub
    End Class
End Namespace

Settings.vb

Imports System.IO.IsolatedStorage
Namespace WindowsPhoneApp
    ' Encapsulates a key/value pair stored in Isolated Storage ApplicationSettings
    Public Class Setting(Of T)
        Private name As String
        'INSTANT VB NOTE: The variable value was renamed since Visual Basic does not allow class members with the same name:
        Private value_Renamed As T
        'INSTANT VB NOTE: The variable defaultValue was renamed since Visual Basic does not allow class members with the same name:
        Private defaultValue_Renamed As T
        Private hasValue As Boolean
        Public Sub New(ByVal name As String, ByVal defaultValue As T)
            Me.name = name
            Me.defaultValue_Renamed = defaultValue
        End Sub
        Public Property Value() As T
            Get
                ' Check for the cached value
                If Not Me.hasValue Then
                    ' Try to get the value from Isolated Storage
                    If Not IsolatedStorageSettings.ApplicationSettings.TryGetValue(Me.name, Me.value_Renamed) Then
                        ' It hasn’t been set yet
                        Me.value_Renamed = Me.defaultValue_Renamed
                        IsolatedStorageSettings.ApplicationSettings(Me.name) = Me.value_Renamed
                    End If
                    Me.hasValue = True
                End If

                Return Me.value_Renamed
            End Get
            Set(ByVal value As T)
                ' Save the value to Isolated Storage
                IsolatedStorageSettings.ApplicationSettings(Me.name) = value
                Me.value_Renamed = value
                Me.hasValue = True
            End Set
        End Property
        Public ReadOnly Property DefaultValue() As T
            Get
                Return Me.defaultValue_Renamed
            End Get
        End Property
        ' "Clear" cached value:
        Public Sub ForceRefresh()
            Me.hasValue = False
        End Sub
    End Class
End Namespace

Ответы [ 2 ]

1 голос
/ 10 декабря 2011

Попробуйте сначала создать новые страницы в своем проекте с помощью встроенных средств Visual Studio, а затем скопируйте и вставьте переведенный код поверх автоматически сгенерированного кода.

Я считаю, что проблема в том, что вам не хватает остальных кодовых файлов .designer.vb, которые обычно создаются автоматически при создании этих страниц вручную.

0 голосов
/ 25 декабря 2011

Я не занимался программированием на VB, но решил попробовать, просто ради этого вопроса.Как говорит @Merlyn, вам будет хорошо, если вы просто используете шаблон Visual Studio для разработки своего приложения.Я создал мой с базовым шаблоном проекта приложения Windows Phone для VB.То, как это работает, похоже на то, как это работает в C #.InitializeComponent () - это открытый метод, который определен в соответствующем .g.vb вашего файла .xaml (в данном случае mainpage.xaml).Чтобы просмотреть, что в нем содержится, просто перейдите к определению при вызове InitializeComponent в коде mainPage позади конструктора.Это то, что содержалось бы в базовом определении.Код внутри этой подпрограммы знает, как загрузить элементы управления, которые вы определили в xaml, в соответствующие объекты платформы .NET.

 Public Sub InitializeComponent()
        If _contentLoaded Then
            Return
        End If
        _contentLoaded = true
        System.Windows.Application.LoadComponent(Me, New System.Uri("/PhoneApp1;component/MainPage.xaml", System.UriKind.Relative))
        Me.LayoutRoot = CType(Me.FindName("LayoutRoot"),System.Windows.Controls.Grid)
        Me.TitlePanel = CType(Me.FindName("TitlePanel"),System.Windows.Controls.StackPanel)
        Me.ApplicationTitle = CType(Me.FindName("ApplicationTitle"),System.Windows.Controls.TextBlock)
        Me.PageTitle = CType(Me.FindName("PageTitle"),System.Windows.Controls.TextBlock)
        Me.ContentPanel = CType(Me.FindName("ContentPanel"),System.Windows.Controls.Grid)
    End Sub

Если вы ищете этот файл, он находится в obj / Data / MainPage.givb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...