如何防止ListView扩大窗口尺寸?

2023-11-29

我将 ListView 放在 View 的中间行。该视图包含在 SizeToContent 设置为 WidthAndHeight 的窗口中。 ListView 最初是空的,但底层 ViewModel 在此过程中填充了此列表视图。

中间的 Grid.Row 高度设置为 * 以填充窗口的可用大小。当 ListView 接收到新项目时,它会在某个时刻扩大窗口大小,而不是在 ListView 中显示 ScrollViewer。如何防止这种行为将 SizeToContent 设置为 WidthAndHeight,将 Grid.Row 高度设置为 * 但不让 ListView 扩展窗口尺寸?

这是窗口的代码(Workspace 属性将包含 ViewModel):

<Window x:Class="Views.ContainerWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="{Binding Title}"
        SizeToContent="WidthAndHeight">
   <ContentControl Content="{Binding Workspace}"/>
</Window>

所提供的 ViewModel 的视图如下所示:

<UserControl x:Class="Views.SomeView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             MinHeight="450">
   <Grid>
      <Grid.RowDefinitions>
         <RowDefinition Height="Auto"/>
         <RowDefinition Height="*"/>
         <RowDefinition Height="Auto"/>
      </Grid.RowDefinitions>
      <TextBlock Grid.Row="0" 
                 TextWrapping="Wrap" 
                 Margin="5"
                 Text="Some description text"/>
      <ListView Grid.Row="1"
                ItemsSource="{Binding ItemsList}" 
                Margin="5">
         <ListView.View>
            <GridView>
               ...
            </GridView>
         </ListView.View>
      </ListView>
      <Button Grid.Row="2"
              HorizontalAlignment="Right"
              Command" Value="{Binding CloseCommand}"/>
   </Grid>
</UserControl>

加载后关闭窗口自动调整大小对您有用吗?

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        this.SizeToContent = SizeToContent.Manual;
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止ListView扩大窗口尺寸? 的相关文章

随机推荐

  • 如何为 VS Code 创建默认/全局启动配置?

    我一直设置相同启动 json每个项目的文件 但我想更改默认值 以便它已经配置了启动目标 我可以更改默认值吗 或者可以创建一个用户值吗 我在 Mac OS X 上使用它 None
  • 是否可以使用回调类型定义来定义函数?

    我对使用预定义回调类型定义函数感兴趣 假设我已经定义了回调类型 typedef BOOL is trigger required cb void 现在我想使用上述类型声明并定义一个函数 我想做这样的事情 is trigger require
  • Ubuntu 上的 Docker hello-world - 权限被拒绝

    我正在尝试让 docker v 1 8 2 在 Ubuntu 14 04 上工作 使用 docker 配置文件中的 g 选项 Ubuntu 位于 USB 密钥上 在不使用机器磁盘的情况下提取映像时出现错误 结果是docker拉取了hello
  • 使用 javascript 正则表达式替换和增加整数值

    给定以下字符串 XXXX Units 4 Test XXXX 我想替换每次出现的Unit x with Unit x 1 我正在尝试使用正则表达式来实现此目的 如名称所示Units需要首先进行字面匹配 我正在尝试这样的事情 test rep
  • Shiny:根据输入选择输入子集

    编辑 感谢您的帮助 我的代码存在多个问题 但主要问题是我缺少 Observe 语句 以下解决了问题 get ddf lt reactive filter poskick Name input player observe updateSel
  • iPhone AVCaptureDeviceInput 如何设置音频捕获的质量?

    以下代码在 44100 深度 2 处工作正常 一些检查和代码被删除 这似乎是默认值 由于这个界面可用 但没有很好的记录 有人知道如何更改默认质量吗 audioCaptureDevice AVCaptureDevice defaultDevi
  • 从交互式图表中抓取数据

    是否可以获取交互式图表背后的数据这个网页 抱歉 网站需要登录 当我用鼠标悬停在图表上时 数据就会显示出来 但是如何获取这些数据呢 以下是该网站 HTML 源代码的摘录
  • 如何防止 youtube iframe 从独立应用程序重定向到 Youtube 应用程序?

    我开发了一份网络杂志揭示js 当然 用户可以决定为他 她自己的智能手机或平板电脑创建快捷方式 创建一个独立的应用程序 该应用程序不会在普通浏览器中打开 带有网址栏 导航命令等 为此 我使用这段代码 一切正常 除了当我滑动到内容中有 YouT
  • 寻找可以在 WinForms 应用程序中播放 AVI 文件的组件(.NET 或 COM/ActiveX)[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在寻找类似 Windows Media Player 控件之类的可以托管在表单上的东西 WMP 不适合我 因为我需要一个可以按顺序播放连续附加的
  • 使用箭头键移动 PictureBox - 处理 PictureBox 中的键盘事件

    我有一个PictureBox我使用下面的代码来移动我的对象 我需要在表单中添加一些按钮 但是当我启动程序时 箭头键在按钮中导航 而不是我的输入按键 我尝试过很多 像这样的方式PictureBox Focus and PictureBox S
  • 使用自定义字体而不包含在 info.plist ios 中

    在 iOS 中 如果我们想使用自定义字体 我们必须包含font ttf在应用程序包中并添加font ttf作为字体键的值信息列表 file 我想使用自定义字体 在设备中安装应用程序后 将从我的服务器下载其 ttf 文件 1 是否可以在我的应
  • Office Outlook Web Addin 不适用于 Office Client 2016

    我使用 Angular 5 版本开发了一个插件 我已经构建了它并使用 sercure http 部署在 Apache 服务器上 我通过使用不同的用户登录在 Office Web App 上测试了这个插件 我发现它按我的预期工作 但现在的问题
  • 将派生类型映射到 EF 中的同一个表

    以下简单的代码示例说明了相关场景 我有一个 Person 实体 它只是映射到数据库中的 Person 表 我正在使用默认的实体对象代码生成器 public partial class Person 我有一个从 Person 派生的 Pers
  • Smooch:如何进行依赖于回发的状态转换?

    我正在尝试根据 Smooch 回发有效负载将脚本从一种状态转换为另一种状态 但收到错误代码 H12 考虑这个例子https github com smooch smooch bot example 假设我修改了脚本https github
  • (8051) 检查是否设置了一位

    我正在为 8051 微控制器编写程序 在程序的第一部分中 我做了一些计算 并根据结果 我要么点亮 LED 要么不点亮 使用CLR P1 7 其中 P1 7 是微控制器中连接 LED 的端口 在程序的下一部分中 我想检索该位 也许将其存储在某
  • 如何在 Python 中进行 DNS 查找,包括引用 /etc/hosts?

    dnspython会很好地完成我的 DNS 查找 但它完全忽略了 etc hosts 是否有一个 python 库调用可以做正确的事情 即先签入etc hosts 否则只能回退到 DNS 查找 我不太确定你是否想要进行 DNS 查找your
  • 如何更改 ggplot 中美学层的顺序?

    如何更改美学层的顺序 这是和例子 dat lt tibble acc rep c 0 1 200 rt rnorm 400 0 5 0 1 dat gt ggplot aes x rt fill factor acc geom densit
  • 使用媒体会话 Web API 的媒体通知不适用于 Web 音频 API

    我正在尝试在我的 PWA 中针对当前播放的音频内容实现自定义通知 正如标题所述 我使用 Android v8 1 0 和 Google Chrome 应用程序 v68 0 x 根据this文章 The Media Session API i
  • 在 Identity 2.0 中扩展 IdentityUserRole

    因此 我的系统要求角色具有关联的到期日期 我已经实现了 Identity 2 0 框架 一切进展顺利 但我遇到了一个问题 让我怀疑我的结构 public class ApplicationUserRole IdentityUserRole
  • 如何防止ListView扩大窗口尺寸?

    我将 ListView 放在 View 的中间行 该视图包含在 SizeToContent 设置为 WidthAndHeight 的窗口中 ListView 最初是空的 但底层 ViewModel 在此过程中填充了此列表视图 中间的 Gri