【问题标题】:Bind Count of ItemsSource of an ItemsControl in a TextBlock using WPF使用 WPF 在 TextBlock 中绑定 ItemsControl 的 ItemsSource 计数
【发布时间】:2017-01-21 19:27:16
【问题描述】:

我想使用 WPF 在 TextBlock 中绑定 ItemsControl 的 ItemsSource 计数。

看看我尝试过的代码

<Menu>
    <MenuItem>
        <MenuItem.Header>
            <TextBlock Text="{Binding Path=(ItemsControl.ItemsSource.Item, RelativeSource={RelativeSource TemplatedParent}}" />
        </MenuItem.Header>

        <ItemsControl ItemsSource="{Binding PersonCollection}">
            <ItemsControl.ItemTemplate>
                <DataTemplate >
                    <StackPanel Orientation="Horizontal" Margin="2" MinWidth="100">
                        <TextBlock Text="{Binding Value.Text}"/>
                    </StackPanel>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
    </MenuItem>
</Menu>

注意:我需要根据 ItemsControl ItemsSource 而不是 Collection.Count 属性来获取计数。请帮助我。

【问题讨论】:

  • 是什么阻止您获得PersonCollectionCount 而不是ItemsSource
  • @Gopichandar 我在自定义控件中使用它。所以,我需要根据 ItemsSource Count 做出决定。请根据我的要求协助我。
  • 试试Path=Items.Count

标签: c# wpf xaml data-binding itemssource


【解决方案1】:

这是解决方案:

 <Menu>
        <MenuItem>
            <MenuItem.Header>
                <TextBox Text="{Binding ElementName=ItemsControl, Path=Items.Count,  Mode=OneWay}" />
            </MenuItem.Header>

            <ItemsControl x:Name="ItemsControl"
                          ItemsSource="{Binding Items}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal"
                                    Margin="2"
                                    MinWidth="100">
                            <TextBlock Text="{Binding Value.Text}" />
                        </StackPanel>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </MenuItem>
    </Menu>

它对你有用吗?

【讨论】:

  • 我需要根据ItemsControl ItemsSource 而不是Collection.Count 属性来获取计数。请帮助我。
  • 是同一个值。同一个号码
  • 是的,两者都是一样的。但我需要那样,
  • 我无法计数。 TextBlock 位于菜单标题内...
  • 我刚刚在我的解决方案上运行了这段代码——它可以工作。但是,您无法更新您的项目数,这是因为此属性是只读的,您必须将其设为 Mode=OneWay。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-20
  • 1970-01-01
  • 2010-11-29
  • 1970-01-01
  • 1970-01-01
  • 2010-12-21
  • 2015-04-07
相关资源
最近更新 更多