Last active
August 29, 2015 14:13
-
-
Save hilapon/a8d3aa0e21ddbca1add1 to your computer and use it in GitHub Desktop.
Person のコレクションを保持する ViewModel、VB版
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Option Explicit On | |
Option Strict On | |
Imports System.Collections.ObjectModel | |
Imports MenuButtonApp.Models | |
Namespace ViewModels | |
Public Class MainWindowViewModel | |
Inherits ViewModel | |
Public Sub New() | |
Me.Persons = New ObservableCollection(Of Person)() | |
Me.Persons.Add(New Person() With {.Id = 1, .Name = "平本", .Age = 17}) | |
Me.Persons.Add(New Person() With {.Id = 2, .Name = "ファウラー", .Age = 51}) | |
Me.Persons.Add(New Person() With {.Id = 3, .Name = "ヘルスバーグ", .Age = 54}) | |
Me.Persons.Add(New Person() With {.Id = 4, .Name = "ペゾルト", .Age = 61}) | |
Me.Persons.Add(New Person() With {.Id = 5, .Name = "リヒター", .Age = 54}) | |
Me.Persons.Add(New Person() With {.Id = 6, .Name = "トーバルズ", .Age = 45}) | |
Me.Persons.Add(New Person() With {.Id = 7, .Name = "ストロヴストルップ", .Age = 64}) | |
Me.Persons.Add(New Person() With {.Id = 8, .Name = "カーニハン", .Age = 73}) | |
Me.Persons.Add(New Person() With {.Id = 9, .Name = "ベック", .Age = 53}) | |
End Sub | |
#Region "Person変更通知プロパティ" | |
Private _Person As Person | |
''' <summary> | |
''' 社員を取得・設定します。 | |
''' </summary> | |
Public Property Person() As Person | |
<DebuggerNonUserCode()> | |
Get | |
Return _Person | |
End Get | |
Set(ByVal value As Person) | |
If (Object.Equals(_Person, value)) Then Return | |
_Person = value | |
RaisePropertyChanged("Person") | |
End Set | |
End Property | |
#End Region | |
#Region "Persons変更通知プロパティ" | |
Private _Persons As ObservableCollection(Of Person) | |
''' <summary> | |
''' 社員のコレクションを取得・設定します。 | |
''' </summary> | |
Public Property Persons() As ObservableCollection(Of Person) | |
<DebuggerNonUserCode()> | |
Get | |
Return _Persons | |
End Get | |
Set(ByVal value As ObservableCollection(Of Person)) | |
If (Object.Equals(_Persons, value)) Then Return | |
_Persons = value | |
RaisePropertyChanged("Persons") | |
End Set | |
End Property | |
#End Region | |
#Region "MessageCommand" | |
Private _MessageCommand As ViewModelCommand | |
Public ReadOnly Property MessageCommand() As ViewModelCommand | |
Get | |
If _MessageCommand Is Nothing Then | |
_MessageCommand = New ViewModelCommand(AddressOf Message) | |
End If | |
Return _MessageCommand | |
End Get | |
End Property | |
Private Sub Message() | |
Dim message = New System.Text.StringBuilder() | |
message.AppendFormat("名前 = {0}", Me.Person.Name) | |
message.AppendLine() | |
message.AppendFormat("年齢 = {0}", Me.Person.Age) | |
MessageBox.Show(message.ToString()) | |
End Sub | |
#End Region | |
End Class | |
End Namespace |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment