带有标题和项模板列的Windows 8 XAML ListView应具有相同的动态
发布时间:2020-12-13 22:26:59 所属栏目:Windows 来源:网络整理
导读:我正在使用带有Itemtemplate和Headertemplate的Listview. 两个模板都包含6个列.如果我为模板设置固定的列宽,一切都很好 – 如图1所示. 但我想为项目设置宽度为“自动” – 但后来我得到图2 … 怎么办呢? 是否可以使用c#设置标题列宽度? – 或任何其他解决
我正在使用带有Itemtemplate和Headertemplate的Listview.
两个模板都包含6个列.如果我为模板设置固定的列宽,一切都很好 – 如图1所示. 但我想为项目设置宽度为“自动” – 但后来我得到图2 … 怎么办呢? 图1: 图2: 代码列表视图: <ListView x:Name="DayanalyseListView" HorizontalAlignment="Center" VerticalAlignment="Top" ItemTemplate="{StaticResource DataTemplate}" HeaderTemplate="{StaticResource HeaderTemplate}"> </ListView> HeaderTemplate中: <DataTemplate x:Key="HeaderTemplate" > <Grid Height="36" Background="DarkGray" > <Grid.ColumnDefinitions> <ColumnDefinition Width="95"/> <ColumnDefinition Width="85"/> <ColumnDefinition Width="85"/> <ColumnDefinition Width="85"/> <ColumnDefinition Width="85"/> <ColumnDefinition Width="*" MinWidth="900"/> </Grid.ColumnDefinitions> <TextBlock x:Uid="DayProject" TextWrapping="Wrap" Text="Project" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="7,2,0" Style="{StaticResource BodyTextStyle}" /> <TextBlock x:Uid="DayTask" TextWrapping="Wrap" Text="Task" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="7,0" Style="{StaticResource BodyTextStyle}" /> <TextBlock x:Uid="DayFrom" TextWrapping="Wrap" Text="From" Grid.Column="2" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="7,0" Style="{StaticResource BodyTextStyle}" /> <TextBlock x:Uid="DayTill" TextWrapping="Wrap" Text="Till" Grid.Column="3" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="7,0" Style="{StaticResource BodyTextStyle}" /> <TextBlock x:Uid="DaySum" TextWrapping="Wrap" Text="Sum" Grid.Column="4" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="7,0" Style="{StaticResource BodyTextStyle}" /> <TextBlock x:Uid="DayNote" TextWrapping="Wrap" Text="Note" Grid.Column="5" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="7,0" Style="{StaticResource BodyTextStyle}" /> </Grid> </DataTemplate> ItemTemplate中: <DataTemplate x:Key="DataTemplate"> <Grid d:DesignHeight="50" Margin="0,5,0" > <Grid.ColumnDefinitions> <ColumnDefinition Width="95"/> <ColumnDefinition Width="85"/> <ColumnDefinition Width="85"/> <ColumnDefinition Width="85"/> <ColumnDefinition Width="85"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" Text="{Binding ProjectName}" VerticalAlignment="Center" Margin="5,0" Style="{StaticResource ItemTextStyle_sf}" Grid.Column="0" ToolTipService.ToolTip="{Binding ProjectName}"/> <TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" Text="{Binding TaskName}" VerticalAlignment="Center" Margin="5,0" Style="{StaticResource ItemTextStyle_sf}" Grid.Column="1" ToolTipService.ToolTip="{Binding TaskName}"/> <TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" Text="{Binding StartTimeString}" VerticalAlignment="Center" Margin="5,0" Style="{StaticResource ItemTextStyle_sf}" Grid.Column="2"/> <TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" Text="{Binding StopTimeString}" VerticalAlignment="Center" Margin="5,0" Style="{StaticResource ItemTextStyle_sf}" Grid.Column="3"/> <TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" Text="{Binding Sum}" VerticalAlignment="Center" Margin="5,0" Style="{StaticResource ItemTextStyle_sf}" Grid.Column="4"/> <TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" Text="{Binding Note}" VerticalAlignment="Center" Margin="5,0" Style="{StaticResource ItemTextStyle_sf}" ToolTipService.ToolTip="{Binding Note}" Grid.Column="5"/> </Grid> </DataTemplate> 解决方法
以下在我的案例中完美无缺:
<Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition /> </Grid.RowDefinitions> <Grid x:Name="ListViewHeaders" > <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="Title Col 1" /> <TextBlock Grid.Column="1" Text="Title Col 2" /> <TextBlock Grid.Column="2" Text="Title Col 3" /> <TextBlock Grid.Column="3" Text="Title Col 4" /> <TextBlock Grid.Column="4" Text="Title Col 5" /> </Grid> <ListView x:Name="myTable" Grid.Row="1" ItemsSource="{Binding SomeCollection}" > <ListView.ItemTemplate> <DataTemplate> <Grid Width="{Binding ElementName=myTable,Path=ActualWidth}" > <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="{Binding ItemProperty1}" /> <TextBlock Grid.Column="1" Text="{Binding ItemProperty2}" /> <TextBlock Grid.Column="2" Text="{Binding ItemProperty3}" /> <TextBlock Grid.Column="3" Text="{Binding ItemProperty4}" /> <TextBlock Grid.Column="4" Text="{Binding ItemProperty5}" /> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView> </Grid> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-phone-7 – 我可以在WP7的Back Button按下找出用户
- 在Windows中没有回车符(CR)的情况下将新行打印到文本文件中
- 从“审核模式”(预先克隆)Windows 8升级到Windows 8.1?
- 使用PsExec远程安装Windows更新
- windows-server-2008 – 如何获得用户的权限?
- 项目模板中的listview可视状态管理器(WinRT,Metro,XAML)
- 中文翻译:Microsoft 收购 GitHub - A bright future for G
- 如何在Windows上填充虚拟磁盘的可用空间以获得更好的压缩?
- vs2015+qt5.9.7配置跨平台的工程
- windows – msi for Web Deploy 3.6 for Hosting Servers …
推荐文章
站长推荐
- windows-server-2003 – 终端服务器已超过允许的
- windows-mobile – Windows Mobile设备有什么好的
- 在Windows手机上将json反序列化为对象c#
- windows-server-2008 – 为什么Windows 2008在内
- wcf – Windows Server 2003和XP上的TLS 1.2
- windows-phone-7.1 – 无法找到INotifyPropertyC
- 类型初始值设定项为“Microsoft.TeamFoundation.
- Windows2008R2搭建共享存储服务器
- 在Windows上模拟/ dev / random
- windows – taskkill.exe退出代码是什么?
热点阅读