在ListViewItem中绘制Rectangle但是比ListViewItem(溢出)大?

时间:2015-10-29 11:13:59

标签: xaml uwp

在我的UWP应用程序中,我有ListView,需要绘制填充一个或的矩形 几个ListViewItems。 从逻辑上讲,ListView是一个日历日列表,Rectangle是一个事件(可能超过一天)。所以在默认的Windows日历中的行为 - 在日历上显示事件。

这是简化的示例 - ListViewItem固定高度为“60”的ListView,以及固定高度为“120”的DataTemplate项目中的Rectangle:

<ListView BorderBrush="Aqua" BorderThickness="1,1,1,1" HorizontalAlignment="Center" 
              ItemsSource="{Binding Path=Days, Mode=TwoWay}">
        <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                <Setter Property="Height" Value="60"/>
                <Setter Property="Width" Value="260"/>                    
                <Setter Property="BorderThickness" Value="1,1,1,1"/>
                <Setter Property="BorderBrush" Value="Aqua"/>                    
            </Style>
        </ListView.ItemContainerStyle>
        <ListView.ItemTemplate>
            <DataTemplate>
                <ItemsControl ItemsSource="{Binding Appointments}">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <Rectangle Fill="Blue"
                                        Stretch="Fill"
                                        Width="230"                                            
                                        Height="120" Tapped="Rectangle_Tapped"                                             
                                       >
                            </Rectangle>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

结果我看到高度为“60”而不是“120”的矩形: ScreenShot of result view

我可以做一些绘制可以溢出多个ListViewItems的Rectangle吗?

这是我想要的: What I want to get

1 个答案:

答案 0 :(得分:0)

删除&#34; Height&#34;的设置者在ItemContainerStyle中,然后只需定义&#34; Height&#34;在DataTemplate中。