例えばこうです。
XAMLからBindingを消しておきます。
xaml
1<Window x:Class="WpfApplication18.MainWindow"
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6 xmlns:local="clr-namespace:WpfApplication18"
7 mc:Ignorable="d"
8 Title="MainWindow" Height="350" Width="525">
9 <Canvas>
10 <ComboBox Name="Cb" DisplayMemberPath="JobNameDisplay" Width="176" Canvas.Left="18" Canvas.Top="42"/>
11 </Canvas>
12</Window>
InitializeComponent()の後辺りにファイルからの読み込み処理が入っています。
csharp
1using System.Collections.Generic;
2using System.Linq;
3using System.Text;
4using System.Windows;
5
6namespace WpfApplication18
7{
8
9
10
11 public partial class MainWindow : Window
12 {
13 private string _defaultJobCode = "b000";
14 private List<JobItem> _jobItems = new List<JobItem>();
15
16 public MainWindow()
17 {
18 InitializeComponent();
19
20 var lines = System.IO.File.ReadAllLines(@"C:\JobList.txt", Encoding.GetEncoding("shift_jis"));
21 var jobItems = lines.Select(line =>
22 {
23 var cols = line.Split(',');
24 return new JobItem() { JobCode = cols[0], JobName = cols[1] };
25 });
26 _jobItems.AddRange(jobItems);
27
28 Cb.ItemsSource = _jobItems;
29 Cb.SelectedItem = _jobItems.FirstOrDefault(item => item.JobCode == _defaultJobCode);
30
31 }
32 }
33
34 public class JobItem
35 {
36 public string JobCode { get; set; } = "";
37 public string JobName { get; set; } = "";
38 public string JobNameDisplay { get { return JobCode + ":" + JobName; } }
39 }
40}
41
カンマで区切られたものは、Splitでいい加減に分断していますが、
例えば役職名にカンマが入っていたらこのコードでは正しく動かない点に注意してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/01 07:16
2018/08/01 07:18
2018/08/01 07:18
2018/08/01 08:25
2018/08/01 08:29
2018/08/01 08:31
2018/08/01 08:36
2018/08/01 08:58
2018/08/01 10:31
2018/08/02 00:09
2018/08/02 03:54