MainWindow.xaml
<Grid><StackPanelOrientation="Vertical"Width="300"HorizontalAlignment="Left"VerticalAlignment="Center"Margin="20, 0, 0, 0"><!--Bottunクリックすると表示--><TextBlockText="{Binding PId}"/><!--今日の日付--><TextBlockText ="{Binding dayTime, StringFormat={}{0:yyyy年MM月dd日}}"HorizontalAlignment="Center"VerticalAlignment="Center"/><!--IDを取得するテキストボックス--><StackPanelOrientation="Horizontal"Margin="0, 0, 0, 15"><!--Machinesクラスを指定--><ListBoxItemsSource="{Binding Machines}"><!--1行ずつをどうやって描画するか定義--><ItemsControl.ItemTemplate><!--おまじない--><DataTemplate><!--2行以上表示させる場合はStackPanelで囲む--><StackPanelOrientation="Horizontal"><TextBlockText="{Binding Id,StringFormat={}{0:N2}}"/><TextBlockText=" "/><TextBlockText="{Binding Name,StringFormat=Nameは{0:N0}です}"/></StackPanel></DataTemplate></ItemsControl.ItemTemplate></ListBox></StackPanel><!--検索ボタン--><ButtonClick="Button_Click"Height="30"Content="検索"Margin="0, 20, 0, 0"Background="AliceBlue"></Button></StackPanel></Grid>MainWindow.xaml.cs
publicpartialclassMainWindow:Window{publicstaticstringMessage="メッセージ";//今日の日付publicstaticDateTime?collectStartDate=DateTime.Today;///<summary>/// VMクラスを定義する///</summary>MainVMmyVM=newMainVM();//コンストラクタpublicMainWindow(){InitializeComponent();//VMクラスをxaml側に反映させるDataContext=myVM;}///<summary>/// 検索ボタンを押下したとき発火///</summary>privatevoidButton_Click(objectsender,RoutedEventArgse){myVM.PId=Message;myVM.dayTime=collectStartDate;}}//VMクラスを定義publicclassMainVM:INotifyPropertyChanged{/*MachineクラスのインスタンスをObservableCollectionで定義*/privateObservableCollection<Machine>_Machines=newObservableCollection<Machine>(){newMachine(){Id=1111,Name="aaa"},newMachine(){Id=2222,Name="bbb"}};/*セッターゲッターを定義*/publicObservableCollection<Machine>Machines{get=>_Machines;set{_Machines=value;PropertyChanged?.Invoke(this,newPropertyChangedEventArgs(nameof(Machines)));}}//IDprivatestring_PId;publicstringPId{get=>_PId;set{_PId=value;SetProperty(nameof(PId));}}//日付privateDateTime?_dayTime;publicDateTime?dayTime{get=>_dayTime;set{_dayTime=value;SetProperty(nameof(dayTime));}}//変更通知publicvoidSetProperty(stringPropertyName){vare=newPropertyChangedEventArgs(PropertyName);PropertyChanged?.Invoke(this,e);}//INotifyPropertyChangedに定義されているイベントpubliceventPropertyChangedEventHandlerPropertyChanged;}publicclassMachine{publicintId{get;set;}publicstringName{get;set;}}