当前位置: 首页 > 知识库问答 >
问题:

如何在WPF中将GridViewColumn绑定到其集合项中的属性

宗项禹
2023-03-14
    <GridViewColumn att:Visibility.IsVisible="{Binding ...}">
public class Item : INotifyPropertyChanged
{
  private string m_Text;
    public string Text
    {
        get
        {
            return m_Text;
        }
        set
        {
            m_Text= value;
            RaisePropertyChanged("Text");
        }
    }
    private bool m_IsVisible;
    public bool IsVisible
    {
        get
        {
            return m_IsVisible;
        }
        set
        {
            m_IsVisible = value;
            RaisePropertyChanged("IsVisible");
        }
    }
}
public ObservableCollection<Item> Items;

在我的XAML中:

<ListView ItemsSource={Binding Items}>
 <ListView.View>
  <GridView>
    <GridView.Columns>
     <GridViewColumn att:Visibility.IsVisible="{Binding /*What goes here? Should bind to IsVisible of my Collection Item*/}">
      <GridViewColumn.CellTemplate>
       <DataTemplate>
        <TextBlock Text={Binding Text"/>    
        </DataTemplate>
      </GridViewColumn.CellTemplate>
     </GridViewColumn>
    </GridView.Columns>
  </GridView>
 </ListView.View>
</ListView/>

我的gridviewcolumn的可见性现在应该取决于我的集合项的“isVisible”的值。那件事可能吗?

共有1个答案

祁嘉瑞
2023-03-14
 <ListView ItemsSource="{Binding Items}">
        <ListView.View>
            <GridView>
                <GridView.Columns>
                    <GridViewColumn att:Visibility.IsVisible="{Binding IsVisible}">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Text}"/>    
                            </DataTemplate>                              
                        </GridViewColumn.CellTemplate>                            
                    </GridViewColumn>                       
                </GridView.Columns>
            </GridView>
        </ListView.View>
    </ListView>
 public class Item
{
    public string Text { get; set; }
    public bool IsVisible { get; set; }
}
 类似资料:
  • 最好的办法是什么?根据显示的数据,我希望绑定到MyText1或MyText2。我怎么做“开关”?

  • 我想解决的一般问题是,一个复选框只有一个datatemplate,然后我可以将它用于listview中的许多不同列(使用gridview)。在我所见过的所有示例中,每个绑定都创建了一个分离模板,这对我来说似乎有些过头了。 我一直试图通过创建gridviewcolumn将设置的附加属性来实现这一点。然后,我可以简单地为绑定到附加属性的复选框设置一个datatemplate。 我遇到的问题实际上是将复

  • 我试图将子类属性绑定到GridViewColumn。我有一个母类M1和三个不同的子类S1、S2和S3。GridViewColumn由类M1的对象填充。我希望将S2的一个属性绑定到这个GridViewColumn的头,而M1中没有实现这个属性。 有人能给我解释一下怎么做吗?

  • 我有一个绑定到< code >列表的wpf组合框 如果我的数据源是自定义集合,那么绑定很容易,我应该只从自定义集合传递属性名称,但由于绑定源是字符串列表,绑定属性应该是什么?

  • GridViewColumnExt是从GridViewColumn继承并添加可见性属性的类。 您可能会看到,我的ListView的ItemsSource被设置为寄存器ObservableCollection。Register类有一个名为vis的bool类型的属性。对于TextBox来说,这一切都很好,但是从GridViewColumnExt don来看,我认为我无法到达集合并绑定到特定的对象。 我

  • 我试图将列表视图绑定到类的可观察集合,由于某种原因,GridViewColumn的DisplayMemberBinding属性没有绑定到集合的内容。如果我使用ListView.ItemTemplate,一切都很好。但是我需要网格形式的数据,所以我在ListView.View中使用GridView。 第一个映像,映像1是调试模式下的AssessmentSummaryList内容。第二个图像,图像2是