Binding object DataProvider Combobox
Bonjour
J'utilise actuellement un objectDataProvider pour lier une source de données à un Combobox. Hors la seul manière que j'ai trouvé pour cela, c'est de mettre en référence mon Object data provider dans le fichier XAML, de faire un findRessource en code behind et d'appeler ma méthode.
Je voulais savoir si il n'était pas possible de faire tout cela en code behind.
- Créer l'object data provider.
- Appeler sa méthode.
- Le binder avec ma combobox ou une liste.
Si qqn avait une suggestion de code. Merci d'avance
XAML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
<UserControl x:Class="ADManagementIHM.Tabs.UGMTab"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ADManagement.Gbb.Provider"
Height="361" Width="425" Loaded="UserControl_Loaded">
<UserControl.Resources>
<ObjectDataProvider x:Key="odpGbbUser"
ObjectType="{x:Type local:GbbUserProvider}" />
</UserControl.Resources>
<Grid Width="423.418" Height="355.071">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="163.366*" />
<ColumnDefinition Width="96.686*" />
<ColumnDefinition Width="160.032*" />
</Grid.ColumnDefinitions>
<ComboBox Height="23" Margin="0,65.013,0,0" Name="cbListLeft" VerticalAlignment="Top"
DataContext="{Binding Source={StaticResource odpGbbUser}}" ItemsSource="{Binding}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Cn}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<ComboBox Height="23" Margin="0,65.013,0,0" Name="cbListRight" VerticalAlignment="Top" Grid.Column="2" />
<RadioButton Height="16" Margin="10.829,17.493,34.153,0" Name="rbUserMode" VerticalAlignment="Top" Checked="radioButton1_Checked" GroupName="UGMMode">User Mode</RadioButton>
<RadioButton Height="16" Margin="114.121,17.493,28.322,0" Name="rbGroupMode" VerticalAlignment="Top" Grid.ColumnSpan="2" GroupName="UGMMode">Group Mode</RadioButton>
<RadioButton Height="16" Margin="49.147,17.493,89.964,0" Name="rbTemplateMode" VerticalAlignment="Top" Grid.Column="1" Grid.ColumnSpan="2" GroupName="UGMMode">Template Mode</RadioButton>
</Grid>
</UserControl> |
Code Behind
Code:
1 2 3 4 5 6 7 8 9 10
|
public partial class UGMTab : UserControl
{
public UGMTab()
{
InitializeComponent();
ObjectDataProvider odpGbbUser = FindResource("odpGbbUser") as ObjectDataProvider;
odpGbbUser.MethodName = "GetBankers";
} |