2010-12-09 47 views
0

Je crée une zone de liste déroulante dans WPF qui contient un panneau ContentPresenter et Image dans une pile. Les éléments de la zone de liste déroulante s'affichent correctement. Ce que je voudrais faire maintenant, c'est pouvoir obtenir la valeur de contenu dans le contentpresenter de l'élément sélectionné en utilisant C#.Obtention d'un élément à partir d'une zone de liste déroulante WPF personnalisée

Comment ferais-je cela? Merci d'avance.

Voici mon XAML:

<ComboBox x:Name="cbo1" Width="140" TextBlock.FontSize="12"> 
<ComboBoxItem> 
     <StackPanel Orientation="Horizontal"> 
       <ContentPresenter Width="90" TextBlock.FontSize="12" HorizontalAlignment="Left" Content="Item1"/> 
      <Image Width="16" Height="11" Source="Images\Item1.png"/> 
     </StackPanel> 
</ComboBoxItem> 
</ComboBox> 

Répondre

1

Cet extrait doit faire

var item = cbo1.SelectedItem as ComboBoxItem; 
var stackpanel = item.Content as StackPanel; 
var selectedContent = (stackpanel.Children[0] as ContentPresenter).Content; 
+0

Cela a fonctionné. Merci! – Brian

+0

Pas de problème, Brian. – sharoz