Я внес некоторые изменения в ваш xaml и CreateList, пожалуйста, проверьте, работает ли он для вас
xaml : я удалил Style = ".." и установил ItemTemplate на таблицу данных, определенную в разделе ресурсов окна. TextBlock согнут в поле Имя вашего набора данных
<Window.Resources>
<DataTemplate x:Key="itemsTemplate">
<StackPanel>
<TextBlock Text="{Binding Path=Name}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
<Grid>
<TreeView Height="277" HorizontalAlignment="Left"
Margin="64,24,0,0" Name="treeView1"
VerticalAlignment="Top" Width="268">
<TreeViewItem Header="Create List" IsEnabled="True"/>
<TreeViewItem Header="Search List" />
<TreeViewItem Header="List Items" Margin="15,0,0,0" IsExpanded="true">
<TreeViewItem Name="ItemList" Header="Codeset 1" IsExpanded="true"
ItemTemplate="{StaticResource itemsTemplate}"/>
</TreeViewItem>
</TreeView>
</Grid>
CreateList : я изменил ItemList.ItemsSource на объект DataView; Вы также присваивали элемент «Имя» тому же объекту строки, похоже на ошибку в вашем примере кода.
DataTable tbl = new DataTable("Items");
tbl.Columns.Add("Name");
DataRow row = tbl.NewRow();
row["Name"] = "Fruits";
tbl.Rows.Add(row);
DataRow row2 = tbl.NewRow();
row2["Name"] = "Vegetables"; // original code has "row" here
tbl.Rows.Add(row2);
DataRow row3 = tbl.NewRow();
row3["Name"] = "Meats";
tbl.Rows.Add(row3);
DataRow row4 = tbl.NewRow();
row4["Name"] = "Drinks";
tbl.Rows.Add(row4);
DataRow row5 = tbl.NewRow();
row5["Name"] = "Bread";
tbl.Rows.Add(row5);
//ItemList.ItemsSource = tbl.Select();
ItemList.ItemsSource = new DataView(tbl);
надеюсь, это поможет, с уважением