1

私はこれにあまりにも多くの時間を費やしてきたので、誰かが私を正しい方向に向けるのを助けることができれば、私は非常に感謝しています.

ListBox を含む Expander があります。ListBox をリスト、つまり FilteredProjects にバインドしました。表示されたリストのアイテム数をエキスパンダーのヘッダーに反映させたいと思います。ProjectsCount に INotifyPropertyChanged を実装しましたが、ListBox の ItemsSource は問題なく更新されます。お時間をいただきありがとうございます。

        <Expander>
            <Expander.HeaderTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Projects" />
                        <Border CornerRadius="4" Padding="0" BorderThickness="1" BorderBrush="Black" Background="#FF545F42" Margin="1,0,0,0" >
                            <Label Content="{Binding Path=ProjectsCount, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource filter}}" Padding="0" FontSize="8" FontStyle="Italic"></Label>
                        </Border>
                    </StackPanel>
                </DataTemplate>
            </Expander.HeaderTemplate>
            <ListBox x:Name="ProjectsFilterListView" Opacity="1" ItemsSource="{Binding FilteredProjects}"  >
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <CheckBox IsChecked="{Binding IsSelected}"  Content="{Binding ItemName}" Margin="10,10,0,10"></CheckBox>
                    </DataTemplate>
                    </ListBox.ItemTemplate>
            </ListBox>
        </Expander>
4

1 に答える 1

1

Item Countから直接取得できますListBox

<Label Content="{Binding Path=Items.Count, ElementName=ProjectsFilterListView}" />

これが機能する例です。ラベルを置き換えたTextBlockので、番号の前に「アイテム:」テキストを追加して、何をしているのかわからないので使用できStringFormatますConverter

<StackPanel Orientation="Horizontal">
    <TextBlock Text="Projects" />
    <Border CornerRadius="4" Padding="0" BorderThickness="1" BorderBrush="Black" Background="Red" Margin="1,0,0,0" >
        <TextBlock Text="{Binding Path=Items.Count, ElementName=ProjectsFilterListView, StringFormat={} Items: {0}}" Padding="0" FontSize="10" FontStyle="Italic" Foreground="Black"/>
    </Border>
</StackPanel>

結果:

ここに画像の説明を入力

于 2013-04-02T07:45:47.213 に答える