Это может быть сделано в XAML 2009 через x:Arguments
, но BANK не поддерживает функции XAML 2009, поэтому в WPF вместо этого вы должны использовать ObjectDataProvider:
<Page.DataContext>
<ObjectDataProvider d:IsDataSource="True" ObjectType="{x:Type viewmodel:YourClass}">
<ObjectDataProvider.ConstructorParameters>
<sys:String>Constructor parameter 1</sys:String>
<sys:String>Constructor parameter 2</sys:String>
<sys:Double>3</sys:Double>
<sys:String>etc</sys:String>
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
</Page.DataContext>
Вам потребуется SMTP-сервер, который позволит отправлять электронную почту. Затем вам нужно использовать объект сообщения CDO.
Я делаю это так, заметьте, у вас должен быть установлен Outlook, чтобы он работал.
Sub btnSendEmail_Click()
Dim OutApp As Object
Dim OutMail As Object
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
strBody = "<html><head></head><body>"
strBody = strBody & "Your message goes here"
strBody = strBody & "</body></html>"
Set OutMail = OutApp.CreateItem(0)
OutMail.To = "name@example.com"
OutMail.BCC = "bcc@example.com"
OutMail.Subject = "Test message"
OutMail.HTMLBody = strBody
OutMail.Send 'Send | Display
Set OutMail = Nothing
End Sub
Вот тестовый код, который работал для меня с CDO и gmail.
Sub mtest()
Dim cdoConfig
Dim msgOne
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = 465
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "gmailname"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "yourpw"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Update
End With
Set msgOne = CreateObject("CDO.Message")
Set msgOne.Configuration = cdoConfig
msgOne.To = "target@target.com"
msgOne.From = "I@dontThinkThisIsUsed.com"
msgOne.Subject = "Test email"
msgOne.TextBody = "It works just fine"
msgOne.send
End Sub
Возможно, вам пригодится Access EMail FAQ от Tony Toews.
Outlook Redemption бесплатен и очень широко используется: http://www.dimastr.com/redemption/
Это очень близко к исходной объектной модели Outlook, поэтому кривая обучения - торт :)