WPF 上下文菜单 - 没有带有项模板的字符串



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

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

操作

视图是操作项的公共可观察集合,每个操作项都有一个名称,该名称可作为"名称"公开访问。所以通常应该没有问题。如果我右键单击我的项目,我会得到一个空的上下文菜单,其中包含正确的条目数,但没有任何文本。

空上下文菜单的图片

public class Action : INotifyPropertyChanged
{
    public string Name;        
    public ContextAction(string name)
    {
        Name = name;            
    }
    public event PropertyChangedEventHandler PropertyChanged;
}

如果有人能帮助我解决这个问题,那就太好了。

解决方案是将getter设置为二传手,仅此而已:)

 public class ContextAction : INotifyPropertyChanged
{
    public string _name;   
    public ContextAction(string name)
    {
        _name = name;            
    }

    public string Name
    {
        get { return _name; }
    }
    public event PropertyChangedEventHandler PropertyChanged;

}

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

public string Name { get; set };

最新更新