0
我剛開始學習WPF中的綁定,並且在使用多個ObjectDataProviders時遇到了一些麻煩。在同一個控件中使用多個ObjectDataProviders
我有兩個ObjectDataProviders:
- 用於獲取從數據庫客戶地點列表,並用於填充一個TreeView和
- 接受一個位置作爲參數,並返回所有的客戶從那個位置,填充一個listView。
我想使它當我點擊其中一個TreeView項目,它將採用SelectedItem文本作爲參數,使用它來填充列表視圖。
<ObjectDataProvider
x:Key="getLocations"
ObjectType="{x:Type local:DataSetCreator}"
MethodName="getLocations"
/>
<ObjectDataProvider
x:Key="getCustomersFromLocation"
ObjectType="{x:Type local:DataSetCreator}"
MethodName="getCustomersFromLocation">
<ObjectDataProvider.MethodParameters>
<x:Static Member="System:String.Empty" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<TreeView HorizontalAlignment="Left"
Margin="12,12,0,12"
Name="treeView2" Width="186"
ItemsSource="{Binding Source={StaticResource getLocations}}" >
<TreeView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Country}" />
</DataTemplate>
</TreeView.ItemTemplate>
</TreeView>
<ListView x:Name="lstCustomers"
ItemsSource="{Binding Source={StaticResource getCustomersFromLocation}}" Margin="204,41,12,12">
<ListView.View>
<GridView>
<GridViewColumn Header="CustomerID"
Width="200"
DisplayMemberBinding="{Binding Path=CustomerID}" />
<GridViewColumn Header="Company Name"
Width="370"
DisplayMemberBinding="{Binding Path=CompanyName}" />
</GridView>
</ListView.View>
</ListView>
是否有可能在XAML中實現此目的,還是我需要使用代碼隱藏?
你也許能夠使用綁定:ElementName = treeView2,Path = SelectedItem,自定義'IValueConverter' ... – 2012-02-06 22:24:26