【发布时间】:2019-09-05 13:00:57
【问题描述】:
我正在尝试将扩展器从后面的代码添加到现有的 ListBox。需要在扩展器的标题中显示的内容来自目录名称,该目录名称可能包含也可能不包含下划线。我想保留目录名称并且不将第一个下划线解释为键盘快捷键。
我发现this 线程讨论如何在 xaml 中执行此操作,并尝试在后面的代码中实现相同的解决方案,但没有任何运气。
我还发现 this 线程讨论如何从后面的代码创建数据模板,但我也无法让它工作。
我尝试了以下代码 sn-ps,但它要么无法编译,要么只是为扩展头显示空白:
String markup = String.Empty;
markup = "<TextBlock text=\"" + directory.Name + "\"/>";
ex.HeaderTemplate = new DataTemplate((DataTemplate)XamlReader.Load(markup));
.
ex.HeaderTemplate = new DataTemplate("TextBlock");
TextBlock tb = new TextBlock();
tb.Text = directory.Name;
ex.Header = tb;
【问题讨论】:
-
@ASh 啊,谢谢。我没有意识到我可以将标题分配给 TextBlock 对象。这比我尝试做的要简单得多。
标签: c# wpf code-behind