我有一個列表框,我試圖插入項目之間的分隔符,但我想分隔符顯示何時有多個項目。列表框項目分隔符多個項目時
<ListBox Grid.Row="1" x:Name="WarningListBox" Visibility="Visible"
HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"
ItemsSource="{Binding Path=Warnings}">
<ListBox.Style>
<Style TargetType="{x:Type ListBox}">
<Setter Property="Height" Value="0"/>
<Style.Triggers>
<DataTrigger Binding="{Binding CanShowAll}" Value="True">
<Setter Property="Height" Value="Auto"/>
<Setter Property="MaxHeight" Value="120"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.Style>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem" BasedOn="{StaticResource NewDesignListItemBoxStyle}">
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.Resources>
<DataTemplate x:Key="TypeOneViewModel" DataType="{x:Type vm:TypeOneViewModel}">
<notifications:TypeOneNotification Focusable="False" MinHeight="30" Background="Beige"/>
</DataTemplate>
<DataTemplate x:Key="TypeTwoViewModel" DataType="{x:Type vm:TypeTwoViewModel}">
<notifications:TypeTwoNotification Focusable="False" MinHeight="30" Background="Beige"/>
</DataTemplate>
</ListBox.Resources>
<ListBox.ItemTemplateSelector>
<templateSelectors:WarningTemplateSelector
TypeOneDataTemplate="{StaticResource TypeOneViewModel}"
TypeTwoDataTemplate="{StaticResource TypeTwoViewModel}"/>
</ListBox.ItemTemplateSelector>
</ListBox>
我已經試過關閉標籤 <Separator Margin="30 0 30 0" BorderBrush="#CCCCCC" BorderThickness="2"/>
前右側添加分隔符,但它的應用程序崩潰。我應該把它放在DataTemplate中嗎?我認爲它會顯示在每個項目下(即使只有一個項目)。
嘗試使用DataTrigger,並將其綁定到previousData,並設置FallBackValue – sTrenat
或者您是否想在第一個項目下顯示一個分隔符,哪裏有多個項目? – sTrenat
只有當只有一個項目時,你想隱藏分隔符*嗎?有兩個或更多項目時,如果最後一個項目下方有分隔符,可以嗎? –