具有标题和项模板列的 Windows 8 XAML ListView 应具有相同的动态宽度

2024-01-04

我正在使用带有 Itemtemplate 和 Headertemplate 的 Listview。 两个模板都包含 6 列。如果我为模板设置固定的列宽,一切都可以 - 如图一所示。
但我想将项目的宽度设置为“自动” - 但后来我得到图 2...

这要怎么处理呢? 是否可以用c#设置标题列宽度? - 或任何其他解决方案?

图1:

图2:

代码列表视图:

<ListView x:Name="DayanalyseListView" 
                      HorizontalAlignment="Center" 
                      VerticalAlignment="Top" 
                      ItemTemplate="{StaticResource DataTemplate}" 
                      HeaderTemplate="{StaticResource HeaderTemplate}">
            </ListView>

标题模板:

<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,0" Style="{StaticResource BodyTextStyle}" />
            <TextBlock x:Uid="DayTask" TextWrapping="Wrap" Text="Task" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="7,2,0,0" Style="{StaticResource BodyTextStyle}" />
            <TextBlock x:Uid="DayFrom" TextWrapping="Wrap" Text="From" Grid.Column="2" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="7,2,0,0" Style="{StaticResource BodyTextStyle}" />
            <TextBlock x:Uid="DayTill" TextWrapping="Wrap" Text="Till" Grid.Column="3" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="7,2,0,0" Style="{StaticResource BodyTextStyle}" />
            <TextBlock x:Uid="DaySum" TextWrapping="Wrap" Text="Sum"  Grid.Column="4" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="7,2,0,0" Style="{StaticResource BodyTextStyle}" />
            <TextBlock x:Uid="DayNote" TextWrapping="Wrap" Text="Note"  Grid.Column="5" VerticalAlignment="Top" HorizontalAlignment="Left"  Margin="7,2,0,0" Style="{StaticResource BodyTextStyle}" />
        </Grid>
    </DataTemplate>

项目模板:

<DataTemplate x:Key="DataTemplate">
        <Grid d:DesignHeight="50" Margin="0,5,0,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,0,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,0,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,0,0" Style="{StaticResource ItemTextStyle_sf}"  Grid.Column="2"/>
            <TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" Text="{Binding StopTimeString}" VerticalAlignment="Center" Margin="5,0,0,0" Style="{StaticResource ItemTextStyle_sf}"  Grid.Column="3"/>
            <TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" Text="{Binding Sum}" VerticalAlignment="Center" Margin="5,0,0,0" Style="{StaticResource ItemTextStyle_sf}"  Grid.Column="4"/>
            <TextBlock HorizontalAlignment="Left" TextWrapping="NoWrap" Text="{Binding Note}" VerticalAlignment="Center" Margin="5,0,0,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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有标题和项模板列的 Windows 8 XAML ListView 应具有相同的动态宽度 的相关文章

  • WPF:将布尔值显示为“是”/“否”

    我有一个布尔值 需要在 TextBlock 中显示为 是 或 否 我尝试使用 StringFormat 执行此操作 但我的 StringFormat 被忽略并且 TextBlock 显示 True 或 False
  • 在活动中嵌入一个大小的ListView - android

    我正在看这个教程 http developer android com resources tutorials views hello listview html http developer android com resources t
  • 如何使用 C# 中的 Caliburn.Micro 从 ListView 获取选定的项目和事件?

    我使用 Caliburn Micro 库用 MVVM C 和 XAML 编写了一个程序 我怎样才能 get all选定的项目 不仅是一项 获取选定的更改事件 通过单击标题列对项目进行排序 任何帮助 将不胜感激 图形用户界面代码 视图 Mai
  • 将“Android.Views.ViewGroup”添加到 Xamarin XAML 页面

    我需要一些帮助来添加Android Views ViewGroup到 XAML 页面 我有一个 Xamarin 项目 其解决方案结构如下所示 App1 ViewModels MyPageViewModel cs Views MyPageVi
  • 使用“isostore:/”方案从 XAML 中的独立存储访问图像

    我已经从网上下载了图像并将它们保存到独立存储中 现在我想在我的 XAML 文件中访问这些图像 并提供一个 Uri 作为对它们的引用 我已经使用 IsoStoreSpy 验证它们是否正确存储在我期望的位置 并且如果我打开文件并读取字节流 我可
  • 一次仅选择一个复选框的自定义列表视图

    我有一个自定义列表视图 每一行都包含一个复选框和文本 现在我想要的是 如果列表视图行的任何一个复选框被选中 那么其他行中的其他复选框如果被选中 它将被自动删除 即一次只能选择一个复选框 我应该怎么做 到目前为止我所做的如下 public c
  • 在 CustomAdapters 中使用条件 if(view==null)

    我正在为 ListView 编写一个自定义适配器 它扩展了 BaseAdapter 并在此方法中 Override public View getView int position View convertView ViewGroup pa
  • 使android listview布局可滚动

    我有一个 xml 文件 其布局为 ASCII 形式 ImageView TextView List
  • 过滤绑定到 ItemsControl 的 ICollectionView

    我想制作一个 WPF 应用程序来浏览菜肴食谱 过滤数据时遇到问题 我正在使用 ItemsControl 使我的数据在窗口中看起来像 图块 现在我想用 TextBox 过滤它 但我不知道出了什么问题 这是我的 XAML 绑定
  • Windows 8 的 Grid.IsSharedSizeScope 等效项

    是否有任何类型的与 WPF 等效的简单 非自定义编码 Grid IsSharedSizeScope在 Windows 8 RT XAML 中 I have ListViewItem分为 3 个水平部分 这 3 列需要与所有边界对齐 每个列的
  • WebView 的自定义用户代理

    我可以为一个设置自定义用户代理吗WebView 我需要展示网站的移动风格 这很容易做到 string ua Mozilla 5 0 iPhone CPU iPhone OS 6 0 like Mac OS X AppleWebKit 536
  • 根据值更改 DataGrid 单元格颜色

    我有一个 WPF 数据网格 我想要根据值使用不同的单元格颜色 我的 xaml 上有以下代码 Style TargetType DataGridCell 但不是只选择一个单元格而是选择所有行 我缺少什么 如果您尝试设置DataGrid Cel
  • 将 MouseBindings 添加到数据绑定 WPF ListView 中的项目

    我试图在用户单击 ListView 中的项目时执行 ViewModel 中的命令 当我添加一个ListViewItem在 XAML 中我可以添加一个MouseBinding to its InputBindings
  • 使用 XAML 文件作为矢量图像源

    我希望能够使用矢量图形 最好在 XAML 中定义 作为图像控件的源 就像我当前可以使用 PNG 等光栅图像一样 这样我就可以轻松地混合和匹配位图和矢量图像 如下所示
  • WPF C# 输入框

    我正在使用 C 构建 WPF 应用程序 我想弹出一个对话框提示用户输入他 她的名字 之后 我将跟踪该名称并将一些数据保存到 txt使用该名称的文件 例如 输入的名称是姓名 约翰 所以我有数据数据 1 2 3 然后我将 数据 保存在John
  • ListView:在资源字典中定义ItemsPanelTemplate

    我有一个 ListView 其布局看起来像 Windows 资源管理器视图 图标 一些详细信息 绑定到 ViewModel 中某处的列表 我的目标是能够随时在资源管理器视图或经典视图之间切换 我可以定义一个ItemsPanelTemplat
  • 如何在 WPF 中设置覆盖全局样式的特定控制元素设置?

    我通过应用程序范围的资源字典为应用程序中的按钮定义了全局样式 样式如下所示 来自另一个 SO 示例
  • 应如何在 WinForms GUI 控件和客户端类之间同步数据?

    什么方法被认为是保持 GUI 控件内的数据结构与应用程序维护的数据结构同步的 标准 例如 在 WinForms 中 如果创建一个 ListView 实例 而不是将其指向表示要出现在列表中的项目的数据结构 则必须以编程方式实例化 ListVi
  • ResourceDictionary WPF 中样式的交互触发器

    我有一个ComboBox我需要在应用程序的多个地方使用它 所以我设置了它的大部分属性ComboBox in ResourceDictionary并在我需要的地方将其用作样式 风格为ComboBox is
  • WinRT 中的数据触发器?

    我能够找到事件触发 http msdn microsoft com en us library windows apps windows ui xaml eventtrigger 28v VS 85 29 aspx然而 在 WinRT 参考

随机推荐

  • C++ 中的静态鸭子类型

    C 对于模板参数给出的类型有某种鸭子类型 我们不知道什么类型DUCK1 and DUCK2会的 但只要他们可以quack 它将编译并运行 template
  • 使用 Process.Start 在 C# 中打开 Excel 文件

    我正在尝试使用单击按钮打开 Excel 文件 由于某种原因它不起作用 我已经尝试了几件事 有什么想法为什么他们不工作吗 方法1我试过了 这将打开文件管理器 但不会打开正确的文件 它肯定使用了正确的文件路径并且该文件确实存在 private
  • 创建新的 GitHub 帐户后无法从私人存储库克隆/获取

    我是一名使用 git 和 SourceTree 的自由开发人员 在过去的几个月里 我一直在为一个拥有私有 GitHub 存储库的特定客户工作 在那段时间里我一直在使用 SourceTree 将更改拉取和推送到 GitHub 我有另一个客户希
  • Bootstrap3 轮播 - 随机选择下一张幻灯片

    我有点难住了 我是 Javascript 新手 但当我用 Google 搜索时 通常会在网上找到很多很棒的帮助 这次我能想到的最好的帮助就在这里 但文档说发布一个新问题比偏离原来的帖子更好 所以 这是我的问题 我正在使用 Bootstrap
  • Wordpress 数据库输出 - 删除 SQL 注入转义

    我在使用 wbdb 时遇到问题 当我使用 wpdb gt insert 或 wpdb gt update 插入或更新数据时 SQL 注入保护实际上会将 插入数据库 并且在输出该信息时 它会附带 SQL 转义 即 我的价值已转义 我知道必须有
  • 是否有满足 C99 标准的 static_assert 替代品?

    我一直在尝试实现类似的方法static assert这是在 C 11 标准中定义的 主要问题是C 编译器如何编写传递给的文本消息static assert as a const char 我可以让编译器写一条消息 比如A is not PO
  • 如何使用 @Template() 引用多个树枝

    我计划更新在 Symfony 3 0 上运行的应用程序 我曾经使用 Template 但是更新时 我必须在 中指定twig文件的根目录 但是 您需要更改 format 中index csv twig 和index html twig 的读取
  • 如何在react-native中为webView请求设置自定义标头

    我希望能够在 ruby on Rails 服务器端检测到 http 请求来自我的应用程序中的 webView 组件 该应用程序正在使用react native 特别是 我想区分来自应用程序的请求和来自在 ios 设备上运行的移动 safar
  • 请求变量如何由encodeURIComponent 使用 ISO-8859-1 字符集而不是 utf-8 进行编码?

    我在使用 ISO 8859 1 字符集的网站上工作 请求应该由encodeURIComponent 部分编码 但该函数使用utf 8编码 请求变量如何由encodeURIComponent使用ISO 8859 1字符集而不是utf 8进行编
  • 比较日期以检查旧文件

    我想检查文件是否早于一定时间 例如 2 天 我设法以这种方式获取文件创建时间 gt gt gt import os path time gt gt gt fileCreation os path getctime filePath gt g
  • Spring Cloud AWS - 无效标头发布 SNS 通知

    我正在尝试使用org springframework cloud aws messaging core NotificationMessagingTemplate 来自 Spring Cloud AWS 将通知发布到 SNS 主题 每次发布
  • 易失性数组的替代方案

    从其他问题中 我了解到易失性数组的元素不是易失性的 只有引用本身是不稳定的 volatile int data Thread A data 4 457 Thread B System out println data 4 在这里 线程 B
  • Python 2.7:如何在 Windows 上将新行的分隔符限制为 '\n'?

    当我在 Windows 上运行的 python 2 7 脚本中写入文本文件时 新行分隔符是 r n 但我希望它是 n 我尝试过使用open http docs python org 2 library io html io open wit
  • iframe 用于嵌入 flash 内容时的 Webkit 字体渲染

    请参见http jsfiddle net CVwXV 2 http jsfiddle net CVwXV 2 如果您使用的是 Mac 当您在 Mac 上的 Chrome 或 Safari webkit 上查看此内容时 文本会跳至更浅的阴影
  • 根据outlook邮件更新excel表[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我的目标是每当我收到特定主题的邮件时
  • 如何使用另一个 python 脚本文件中的参数执行 python 脚本文件

    我的问题是我想使用另一个 python 文件中的参数执行一个 python 文件以获取返回的值 不知道我有没有解释清楚 example 从外壳我执行这个 getCameras py path to the scene 这会返回给我一个相机列
  • Celery 不注册任务

    你好 我刚刚开始将 Celery 与 Django 一起使用 我有一项需要定期执行的任务 在管理界面中 我可以在名为 任务 已注册 的下拉列表中看到我的任务 但是当 Celery Beat 尝试执行它时 会抛出 NotRegistered
  • 用 C# 编写“原始”HTTP 客户端

    我正在尝试用 C 编写一个 原始 HTTP 客户端 你可能会问为什么 我的目标是在 J2ME 中实现 HTTP 客户端 只能执行 GET 和有限的 POST 但首先我需要更好地理解 HTTP 协议 因此进行 C 尝试 我的第一次尝试失败了
  • 选择数据库后进行身份验证

    我的 MongoDB 服务器中有 3 个数据库 我正在使用 pymongo 用 Python3 编写一些脚本 我想使用最新的版本和做法 一旦我打开客户端并选择数据库 pymongo MongoClient mydatabase authen
  • 具有标题和项模板列的 Windows 8 XAML ListView 应具有相同的动态宽度

    我正在使用带有 Itemtemplate 和 Headertemplate 的 Listview 两个模板都包含 6 列 如果我为模板设置固定的列宽 一切都可以 如图一所示 但我想将项目的宽度设置为 自动 但后来我得到图 2 这要怎么处理呢