Microsoft Access と WPF を使用して ERP タイプのシステムに取り組んでいます。一部のテキスト ボックスとツリー ビューの選択に情報をバインドする方法についていくつか質問があります。ですから、質問をする前に、私がすでに行ったことの背景を説明させてください。
データベースに次のテーブルがあります。
Table: tbl_Vendors
Column: ID - Autonumber
Column: Name - string(75)
Table: tbl_Departments
Column: ID - Autonumber
Column: Name - string(100)
Table: tbl_Products
Column: ID - Autonumber
Column: Department - Number (linked to tbl_Departments.ID)
Column: Description - string(255)
Column: UPC - string(12)
Column: Price - currency
Table: tbl_Product_Vendor_Cost
Column: VendorID - number (linked to tbl_Vendors.ID)
Column: ProductID - number (linked to tbl_Products.ID)
Column: Cost - Currency
私の XAML ウィンドウには、Hierarchal Data Template を使用してデータを操作する Treeview があり、部門別に並べ替えられた製品が表示されます。私が使用するリソースは次のとおりです。
<Window.Resources>
<!-- The data template for the products-->
<DataTemplate x:Key="productTemplate">
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
<!-- The data template for the departments-->
<HierarchicalDataTemplate x:Key="treeViewTemplate" ItemsSource="{Binding Department2Product}" ItemTemplate="{StaticResource productTemplate}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
</Window.Resources>
ウィンドウの XAML ファイルでは、次のように呼び出されるツリービューがあります。
<TreeView Name="lstProducts" ItemsSource="{Binding tbl_Departments}" ItemTemplate="{StaticResource treeViewTemplate}" AlternationCount="2" SelectedValuePath="ID"/>
ウィンドウの .cs ファイルには、次のメソッドが定義されています。
Public void UpdateUI() {
DataSet outResult;
If (ProductsDatabase.TryToGetProductsDataset(out outResult)) {
this.tvwProducts.DataContext = outResult;
}
}
製品に変更が加えられるたびに、または InitializeComponent メソッドが実行されるたびに、UpdateUI メソッドが呼び出されます。それで、それがすべて示されたので、ここに私の実際の質問があります。ウィンドウにいくつかのテキスト ボックスがあります。製品を選択するときに、選択した製品のデータをテキスト ボックスに入力したいと思います。選択された部門を無視するか、部門の実際の選択を完全に防止したいのですが、どちらの方法でも機能します。他にもいくつか試してみますが、ここからの回答を心配して待っています.
お時間をいただきありがとうございます。ご回答いただければ幸いです。