【问题标题】:comboBox Text is not Visible in UWP?组合框文本在 UWP 中不可见?
【发布时间】:2020-03-11 14:57:56
【问题描述】:

我试过的是什么?

ComboBox ComboBox = new ComboBox();ComboBox.Foreground = new SolidColorBrush(Colors.Black);
ComboBox.CornerRadius = new CornerRadius(6);
ComboBox.BorderBrush = new SolidColorBrush(Colors.LightGray);
ComboBox.BorderThickness = new Thickness(1);
string[] FontsList = { "Arial", "Arial Black", "Book Antiqua", "Calibri", };
foreach (string item in FontsList)
 {
    ComboBoxItem comboBoxItem = new ComboBoxItem();
    comboBoxItem.Content = item;
     ComboBox.Items.Add(comboBoxItem);
}
ComboBox.Text = (string)((ComboBoxItem)ComboBox.Items.First()).Content;
Debug.WriteLine(ComboBox.Text);

当我尝试打印它时,它会在组合框中显示文本

【问题讨论】:

    标签: c# uwp


    【解决方案1】:

    您需要将 ComboBox 添加到面板中才能显示它。例如,假设您要将其添加到 xaml 中名为 MyPanel 的 StackPanel。

    更新:

    需要将IsEditable属性设置为true,Text属性才会真正生效,然后通过测试,需要在ComboBox的Loaded事件中设置Text属性。

    .cs:

    {
        ComboBox ComboBox = new ComboBox(); ComboBox.Foreground = new SolidColorBrush(Colors.Black);
        ComboBox.CornerRadius = new CornerRadius(6);
        ComboBox.BorderBrush = new SolidColorBrush(Colors.LightGray);
        ComboBox.BorderThickness = new Thickness(1);
        string[] FontsList = { "Arial", "Arial Black", "Book Antiqua", "Calibri", };
        foreach (string item in FontsList)
        {
            ComboBoxItem comboBoxItem = new ComboBoxItem();
            comboBoxItem.Content = item;
            ComboBox.Items.Add(comboBoxItem);
        }
    
        ComboBox.IsEditable = true;
        ComboBox.Loaded += ComboBox_Loaded;
        MyPanel.Children.Add(ComboBox);
    }
    private void ComboBox_Loaded(object sender, RoutedEventArgs e)
    {
        ComboBox box = sender as ComboBox;
        box.Text = (string)((ComboBoxItem)box.Items.First()).Content;
    }
    

    【讨论】:

      【解决方案2】:

      我使用了combobox.selectedIndex=0,现在可以正常使用了。

      ComboBox ComboBox = new ComboBox();ComboBox.Foreground = new SolidColorBrush(Colors.Black);
      ComboBox.CornerRadius = new CornerRadius(6);
      ComboBox.BorderBrush = new SolidColorBrush(Colors.LightGray);
      ComboBox.BorderThickness = new Thickness(1);
      string[] FontsList = { "Arial", "Arial Black", "Book Antiqua", "Calibri", };
      foreach (string item in FontsList)
       {
          ComboBoxItem comboBoxItem = new ComboBoxItem();
          comboBoxItem.Content = item;
           ComboBox.Items.Add(comboBoxItem);
      }
      ComboBox.SelectedIndex=0;
      Debug.WriteLine(ComboBox.Text);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-08
        • 2023-03-24
        • 1970-01-01
        • 1970-01-01
        • 2017-04-05
        • 2020-06-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多