2010-09-29 21 views
0

Je voudrais permettre aux utilisateurs de choisir une taille de police à partir d'une zone de liste, mais j'aimerais aussi pour pouvoir entrer la taille par là, j'ai essayé la propriété: "IsEditable" (et l'a changé en vrai comme valeur) du ComboBox, mais quand j'entre quelque chose qui n'est pas dans les éléments de ComboBox (par exemple: mes articles sont-2,3,4, et j'ai entré-6), il me montre le message suivant: "Référence d'objet non défini à une instance d'un objet".C# WPF - ComboBox pour être aussi un TextBox, par exemple: comme au bureau où les utilisateurs peuvent choisir la taille de police ou l'entrer

Répondre

2

La prochaine fois, postez votre code source avec question.

public partial class MainWindow : Window 
    { 
     public class SomeItem 
     { 
      public int[] Numbers { get; set; } 
      public string ChosenText { get; set; } 
     } 

     private SomeItem item; 

     public MainWindow() 
     { 
      InitializeComponent(); 
      this.item = new SomeItem{Numbers=new[]{7,8,10}, ChosenText="10"}; 
      this.testStackPanel.DataContext = item; 
     } 

     private void Button_Click(object sender, System.Windows.RoutedEventArgs e) 
     { 
      MessageBox.Show(item.ChosenText); 
     } 
    } 

    <StackPanel VerticalAlignment="Center" x:Name="testStackPanel"> 
     <ComboBox IsEditable="True" Width="100" ItemsSource="{Binding Numbers}" Text="{Binding ChosenText}"/> 
     <Button Content="Selected Value" Margin="0,10,0,0" Width="100" Click="Button_Click"/> 
    </StackPanel> 

Je propose la question est dans la propriété ComboBox.Text.

+0

merci beaucoup, je vais essayer – dinbrca