2016-09-14 10 views
1

WPFを使用してTextBlock内のItemsControlのItemsSourceの数をバインドしたいとします。私はないCollection.CountプロパティによってItemsControl ItemsSourceに基づいてカウントを取得する必要があります。Items ItemsのバインドWPFを使用してTextBlock内のItemsControlのソース

は私の試したコード

<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> 

ノートに顔をしています。親切に私を助けてください。

+0

「ItemsSource」の代わりに「PersonCollection」の「Count」を取得することを止めることは何ですか? – Gopichandar

+0

@Gopichandar私はこれをカスタムコントロール内で使用しています。ですから、ItemsSource Countに基づいて決定する必要があります。親切に私の要求に従って私を助けてください。 –

+0

'Path = Items.Count'を試してください – Gopichandar

答えて

2

これが解決策です:

<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> 

それはあなたのために動作しますか?

+0

' ItemsControl ItemsSource'に基づいて、 'Collection.Count'プロパティではなくカウントを取得する必要があります。親切に私を助けてください。 –

+0

同じ値です。同じ番号 –

+0

はい両方が同じです。しかし、私はそのようにする必要があります、 –