WPF ContextMenu - 没有ItemTemplate的字符串

时间:2016-05-24 13:50:02

标签: c# wpf contextmenu datatemplate itemtemplate

您好我是WPF开发的新手,遇到了关于将公共变量绑定到TextBlock元素的问题。

gcc -O3 -fstrict-aliasing -Wstrict-aliasing=2

Action View是一个公共Observable Action Items集合,每个Action项目都包含一个名称,可以公开访问Name。所以通常应该没有问题。如果我右键单击我的项目,我会得到一个空的ContextMenu,其中包含正确的条目数但没有任何文本。

picture of the empty ContextMenu

<ListBox.ContextMenu>
   <ContextMenu ItemsSource="{Binding ActionsView}">
      <ContextMenu.ItemTemplate>
          <DataTemplate>                                
            <TextBlock Text="{Binding Name}" />
          </DataTemplate>
      </ContextMenu.ItemTemplate>    
   </ContextMenu>

如果有人可以帮我解决这个问题,那真是太好了。

2 个答案:

答案 0 :(得分:1)

解决方案是将吸气剂设置为定位器,即:)

 public class ContextAction : INotifyPropertyChanged
{
    public string _name;   

    public ContextAction(string name)
    {
        _name = name;            
    }


    public string Name
    {
        get { return _name; }
    }

    public event PropertyChangedEventHandler PropertyChanged;

}

答案 1 :(得分:0)

您需要实现属性,而不是绑定工作的字段。像这样:

public string Name { get; set };