2011-01-15 28 views
17

Öğe kutusunun stil kullandığı bir liste kutusu var. Stiller, bir özelliğe bağlı olarak sınırın görünürlüğünün görünürlüğünü ayarlayan bir datatrigger içeren bir kenarlık belirtir. Bu iyi çalışıyor, ancak listede her bir öğe için çok dar bir çizgi görebiliyorum, bu da çöktü. Birisinin görünürlüğü nasıl ayarlayacağı konusunda yardımcı olabileceğini umuyordum, böylece ardışık eşyalar çöktüğü zaman bu oldukça belirgin bir iz yok.WPF - liste kutularını gizleme

Datatemplate, bunun içinde bir dockpaneli olan bir dış kenarlık belirtir - daha sonra buna tutturulmuş olan stackpaneller vardır.

Herhangi bir yardım için teşekkür ederiz.

Eh bu basitleştirilmiş bir şablon: Başarıyla Ürününüzü saklıyorsun

<DataTemplate x:Key="myTemplate"> 
    <Border BorderThickness="0"> 
     <Border.Style> 
      <Style> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding Path=IsActive}" Value="False"> 
         <Setter Property="Border.Visibility" Value="Collapsed" /> 
        </DataTrigger> 
       </Style.Triggers> 
      </Style> 
     </Border.Style> 
     <DockPanel LastChildFill="True" HorizontalAlignment="Stretch"> 
      <StackPanel DockPanel.Dock="Right" HorizontalAlignment="Right" > 
       <TextBlock Text="{Binding Path=SeqNo, Converter={StaticResource SeqToTextConv}}"/> 
       <Label Content="..." /> 
      </StackPanel> 
     </DockPanel> 
    </Border> 
</DataTemplate> 
+0

öğesini gizlemek için ItemContainerStyle'ı kullanarak sorunu gösteren bir örnek XAML gönderir misiniz? – BrokenGlass

+0

Eklenme Tarihi – c95mbq

cevap

34

Ancak liste kutusu bir ListBoxItem içinde öğelerin her sarar, bu tür Öğenize seçim olarak kavramları ekler. Eşyalarınızın gizlendiği durumda hala ListBoxItem'i gördüğünüzden şüpheleniyorum. ListBoxItems ...

<ListBox> 
    <ListBox.ItemContainerStyle> 
    <Style TargetType="{x:Type ListBoxItem}"> 
     <Style.Triggers> 
     <DataTrigger Binding="{Binding IsActive}" Value="False"> 
      <Setter Property="Visibility" Value="Collapsed"/> 
     </DataTrigger> 
     </Style.Triggers> 
    </Style> 
    </ListBox.ItemContainerStyle> 
</ListBox> 
+0

Teşekkürler Colin, çok takdir! – c95mbq