Wpf 时间表列表视图
我正在开发一个显示时间表的应用程序,如下所示: 但是,我有几个问题:Wpf 时间表列表视图,wpf,silverlight,xaml,winrt-xaml,Wpf,Silverlight,Xaml,Winrt Xaml,我正在开发一个显示时间表的应用程序,如下所示: 但是,我有几个问题: 当有太多的项目(分钟)无法显示在一行中时 应自动分为几行(例如,之后的所有行 06(应包装) 我不知道分钟项目的间隔是从哪里来的。不是 项目的保证金 当用手指滚动时间表列表时,只有在没有触摸分钟框的情况下才会滚动。否则,分钟框会移动一点,而不是 整个时间表 时间表列表绑定到时间表小时不稳定的可观察集合: public class TimetableHour { public sbyte Hour { get; set
public class TimetableHour
{
public sbyte Hour { get; set; }
public IList<TimetableItem> Items { get; set; }
public string HourString
{
get { return Hour.ToString("00") + ":"; }
}
}
public class TimetableHour
{
公共sbyte小时{get;set;}
公共IList项{get;set;}
公共字符串HourString
{
获取{return Hour.ToString(“00”)+:“;}
}
}
以及XAML页面:
<Style TargetType="ListView" x:Key="TimetableListViewStyle">
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden" />
<Setter Property="Margin" Value="0,0,60,0" />
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding HourString}"
Width="60" Height="50"
TextAlignment="Center"
Background="CornflowerBlue" Foreground="White" BorderThickness="0"
FontSize="23"
Padding="10">
</TextBox>
<GridView ItemsSource="{Binding Items}" Height="Auto" SelectionMode="None" IsTapEnabled="False" IsHoldingEnabled="False" >
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel Background="LightSkyBlue" Width="60" Height="50">
<TextBlock Text="{Binding Minute}" HorizontalAlignment="Center" FontSize="17" FontWeight="Medium" Margin="0,2,0,0"></TextBlock>
<TextBlock HorizontalAlignment="Center">Tip</TextBlock>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
<ListView Grid.Row="2" Grid.Column="2" ItemsSource="{Binding Timetable}"
Style="{StaticResource TimetableListViewStyle}"
SelectionMode="None" />
提示
好的,所以我算出了:
ItemContainerStyle如下所述: