Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 列表框不显示文本_Wpf_Text_Listbox - Fatal编程技术网

Wpf 列表框不显示文本

Wpf 列表框不显示文本,wpf,text,listbox,Wpf,Text,Listbox,在使用WPF的我的TabControl中,C.I从TabControl中的click事件在一个TabItem中向ListBox输入文本。但是列表框不显示文本。当我调试时,我可以发现列表框有count:1。代码如下: namespace Tabcontrol { public partial class PresetTab : UserControl //3rd Tabitem ,preset.xaml.cs { public Preset

在使用WPF的我的TabControl中,C.I从TabControl中的click事件在一个TabItem中向ListBox输入文本。但是列表框不显示文本。当我调试时,我可以发现列表框有count:1。代码如下:

namespace Tabcontrol
{   
    public partial class PresetTab : UserControl   //3rd Tabitem ,preset.xaml.cs
    {        
        public PresetTab()
        {
            InitializeComponent();            
        }
        public  void AddPresetmenu(string pMenu)    
        {
           menubox.Items.Add(pMenu);    //menubox is listbox
        } 
    }    
}

namespace Tabcontrol
{  
    public partial class ToolBar : UserControl
    {
        PresetTab tab = new PresetTab();
        public ToolBar()
        {            
            InitializeComponent(); 
        }
         public void Click(object sender, MouseButtonEventArgs e)
         {         
          Add("TAB MENU");
          }
         public void Add(string menu)
        {    

            tab.AddPresetmenu(menu);      //Im calling from tabcontrol,toolbar.xaml.cs      
        }
    }
}

如果您也添加了XAML代码,就更容易确定了,但在我看来,您直接将字符串添加到Items属性,而不是应用指定如何显示字符串的DataTemplate。因此,要么应用一个将字符串转换为UIElement的DataTemplate,例如TextBlock,要么尝试在代码中添加TextBlock而不是字符串

public  void AddPresetmenu(string pMenu)    
{
   TextBlock tb= new TextBlock();
   tb.Text = pMenu;
   menubox.Items.Add(tb);
}

希望这有帮助,如果没有,请包括您的XAML,这将使您更容易发现问题。

My XAML:正如我所料,您正在将字符串直接添加到Items集合中。你试过我的密码吗?或者是我建议的DataTemplate解决方案?对不起,我不理解你的代码。你将pMenu分配给textblock,然后再次将相同的pMenu分配给listbox。我的代码和你的代码有什么不同。而且我不知道DataTemplate。你能给我一些关于这个的示例吗?对不起,这是一个打字错误,我应该添加文本框。我更正了我的代码。您可能还发现以下关于DataTemplateing的链接很有用:。我还建议您阅读Josh Smith的WPF导览: