Я только начал изучать привязку в 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, custom 'IValueConverter' ... –