저는 WPF를 처음 사용하고있어서 어려움을 겪고있는 문제에 도움을 주시면 감사하겠습니다. 주 앱의 메뉴에서 WPF TreeView
에 TreeViewItem
을 바인딩해야합니다. 필요한 것은 단일 데이터 테이블을 TreeViewItem
(XAML 및 코드 숨김)에 바인드하는 올바른 구문입니다. 이것이 제가 지금까지 가지고있는 것입니다. 제안서에 코드를 입력하십시오. 도움을 받으실 수 있습니다. 다시 한 번 명확하게하기 위해 나는 단지 ItemList
TreeViewItem
의 ItemsSource
을 묶으려고합니다. 귀하가 DataTable에 대한 Treeview 데이터 바인딩
XAML
을 을 평가하는 데 도움이의TreeView
은 테이블의 5 개 행을 보여 주지만, 대신 실제 값의
System.Data.DataRow
을 보여줍니다
<Window x:Class="WPFToolkit.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WPFToolkit"
Title="Window1" Height="300" Width="300">
<Window.Resources>
</Window.Resources>
<Grid>
<TreeView Name="SampleTree" Margin="-9,0,0,0">
<TreeViewItem Header="Create List" MouseDoubleClick="CreateCodeset_Click"
IsEnabled="True"/>
<TreeViewItem Header="Search List" MouseDoubleClick="SearchCodeSet_Click"/>
<TreeViewItem Header="List Items" Margin="15,0,0,0">
<TreeViewItem Name="ItemList" Header="Codeset 1"
Style="{StaticResource listMenuItem}">
</TreeViewItem>
</TreeViewItem>
</TreeView>
</Grid>
</Window>
내가 일부 변경 한
public void CreateList()
{
DataTable tbl = new DataTable("Items");
tbl.Columns.Add("Name");
DataRow row = tbl.NewRow();
row["Name"] = "Fruits";
tbl.Rows.Add(row);
DataRow row2 = tbl.NewRow();
row["Name"] = "Vegetables";
tbl.Rows.Add(row2);
DataRow row3 = tbl.NewRow();
row["Name"] = "Meats";
tbl.Rows.Add(row3);
DataRow row4 = tbl.NewRow();
row["Name"] = "Drinks";
tbl.Rows.Add(row4);
DataRow row5 = tbl.NewRow();
row["Name"] = "Bread";
tbl.Rows.Add(row5);
//This is not working
ItemList.ItemsSource = tbl.Select();
}