在我使用WPF的TabControl
中,C#.I在Text
的点击事件中,在ListBox
的{{1}}中TabItem
进入TabControl
。但ListBox
不显示Text
。当我调试时,我发现ListBox
有计数: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
}
}
}
答案 0 :(得分:0)
确定您是否也会添加XAML代码会更容易,但在我看来,您将字符串直接添加到Items属性并且未应用DataTemplate
指定如何显示字符串。因此,要么应用DataTemplate
将字符串转换为UIElement,例如TextBlock
,或者尝试在代码中添加TextBlock
而不是字符串。
public void AddPresetmenu(string pMenu)
{
TextBlock tb= new TextBlock();
tb.Text = pMenu;
menubox.Items.Add(tb);
}
希望这会有所帮助,如果没有,请包含您的XAML,这样可以更容易地发现问题。