你们中的一位大师可以帮助一些翻译吗?
未为'Private Sub OpenUserDetail(userList as Model.UserList)'的'userList'指定参数。它适用于C#版本,只是不确定C#到VB的翻译。任何帮助将不胜感激。 :)
C#中的原始声明:
private readonly DelegateCommand<EmailDocument> openMessageCommand;
this.openMessageCommand = new DelegateCommand<EmailDocument>(this.OpenMessage);
private void OpenMessage(EmailDocument document) {
// Do stuff
}
VB翻译:
Private ReadOnly openUserCommand As DelegateCommand(Of UserList)
Me.openUserCommand = New DelegateCommand(Of UserList)(Me.OpenUserDetail)
Private Sub OpenUserDetail(userList As UserList)
' Do stuff
End Sub
注意:
VB版本 - UserList
是一个类实例
C#版本 - EmailDocument
是一个类实例
添加更多详情:
XAML调用代码:
<UserControl.Resources>
<command:ObservableCommand x:Name="OpenUserCommand" Value="{Binding OpenUserCommand}"/>
</UserControl.Resources>
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn Header="Name" Width="150*" MinWidth="150">
<sdk:DataGridTemplateColumn.HeaderStyle>
<Style TargetType="sdk:DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<ComboBox Name="cboNameFormat"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Height="Auto"
Width="180" SelectedValuePath="Tag" >
<ComboBoxItem Tag="%0 %1" IsSelected="True">First Name Last Name</ComboBoxItem>
<ComboBoxItem Tag="%1, %0">Last Name, First Name</ComboBoxItem>
</ComboBox>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</sdk:DataGridTemplateColumn.HeaderStyle>
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<HyperlinkButton x:Name="hbtnName"
**Command="{Binding Value, Source={StaticResource OpenUserCommand}}"**
CommandParameter="{Binding}"
VerticalAlignment="Center"
AutomationProperties.AutomationId="OpenMailHyperLink"
Content="{Binding Name}">
<!--<HyperlinkButton.Content>
<mvc:MultiBinding Source1="FirstName" Source2="LastName" StringFormat="{Binding SelectedValue, ElementName=cboNameFormat}" >
<mvc:BindingCollection>
<Binding Path="FirstName" />
<Binding Path="LastName" />
</mvc:BindingCollection>
</mvc:MultiBinding>
</HyperlinkButton.Content>-->
</HyperlinkButton>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTextColumn Header="Role" MinWidth="150" Binding="{Binding Role, StringFormat=g}" CanUserSort="True"/>
<sdk:DataGridTextColumn Header="Company" MinWidth="150" Binding="{Binding Company, StringFormat=g}" CanUserSort="False"/>
<sdk:DataGridTextColumn Header="Phone" MinWidth="150" Binding="{Binding Phone, Converter={StaticResource stringToPhoneNumberConverter}}" CanUserSort="False"/>
<sdk:DataGridTextColumn Header="Phone" MinWidth="150" Binding="{Binding Email, StringFormat=g}" CanUserSort="False"/>
<sdk:DataGridTextColumn Header="Phone" MinWidth="150" Binding="{Binding Address, StringFormat=g}" CanUserSort="False"/>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
VB.NET属性:
Private ReadOnly openUserCommand As DelegateCommand(Of UserList)
<ImportingConstructor()> _
Public Sub New(userService As IUserService, regionManager As IRegionManager)
Me.openUserCommand = New DelegateCommand(Of UserList)(Me.OpenUserDetail)
End Sub
#Region "OpenUserCommand"
Public ReadOnly Property OpenUserCmd() As ICommand
Get
Return Me.openUserCommand
End Get
End Property
Private Function OpenUserDetail(userList As UserList)
' This view initiates navigation using the RegionManager.
' The RegionManager will find the region and delegate the
' navigation request to the region specified.
'
' This navigation request also includes additional navigation context, an 'EmailId', to
' allow the Email view to orient to the right item. The navigation request and context
' is built using a UriQuery that helps build the request.
If userList Is Nothing Then Return Nothing
Dim builder = New StringBuilder()
builder.Append(UserViewKey)
Dim query = New UriQuery()
query.Add(UserId, userList.ID.ToString)
builder.Append(query)
Me.regionManager.RequestNavigate(RegionNames.MainContentRegion, New Uri(builder.ToString(), UriKind.Relative))
Return Nothing
End Function
#End Region
答案 0 :(得分:2)
我看了VB.NET已经很久了。我认为你需要使用AddressOf关键字
Me.openUserCommand = New DelegateCommand(Of UserList)(AddressOf Me.OpenUserDetail)
http://msdn.microsoft.com/en-us/library/74wy9422%28v=vs.90%29.aspx