2011-10-14 16 views
4

デザインページのコードは次のとおりです。windows7のスタックパネルの内部でコントロールにアクセスする方法は?

<ScrollViewer VerticalScrollBarVisibility="Visible" Grid.Row="1" x:Name="svProduct"> 
      <StackPanel> 
       <ItemsControl x:Name="lstSearchResult" ItemsSource="{Binding Path=PIProductList}"> 
        <ItemsControl.ItemTemplate> 
         <DataTemplate> 
          <StackPanel Width="480" Style="{Binding CellStyle}" Orientation="Horizontal" VerticalAlignment="Center" Height="50" > 
           <TextBlock Foreground="Black" FontSize="20" Width="320" FontFamily="Tahoma" Margin="10,0,0,0" Text="{Binding Title}" VerticalAlignment="Center" TextWrapping="Wrap"></TextBlock> 
           <Button Name="btnBookmark" Click="btnBookmark_Click" Tag="{Binding}" Background="Transparent"> 
            <Button.Content> 
             <Image Source="/Images/bookmarks_red.png" Width="33" Height="30" VerticalAlignment="Top" Margin="-15"></Image> 
            </Button.Content> 
           </Button> 
           <Button BorderThickness="0" x:Name="btnSubmit" Click="btnSubmit_Click" Background="Transparent" Tag="{Binding}" > 
            <Button.Content> 
             <Image Name="ram" Source="/Images/blue_arrow.png" Width="40" Height="40" VerticalAlignment="Top" Margin="-15"></Image> 
            </Button.Content> 
           </Button> 
          </StackPanel> 
         </DataTemplate> 
        </ItemsControl.ItemTemplate> 
       </ItemsControl> 
      </StackPanel> 
     </ScrollViewer> 

私はbtnBookmark visuble falseにアクセスしたいです。

はbtnBookmark.Visibility = Visibility.collapsed

これを行うにはどのように

にアクセスすることはできませんか?

これを行うには、私が知っている

答えて

1

最良の方法は、あなたの項目のViewModel(各行にバインドされている1に可視性プロパティを作成することです...........私に助けてくださいあなたのItemsControlで)、各項目の変更に基づいてその値を切り替えます。おそらく各行のトグルボタンを使用します。私は、これらの内部コントロールを「ループして調べる」良い方法については知らない。既存のデータバインディングインフラストラクチャを使用してこれを管理する方がずっと優れています。

関連する問題