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