自动调整为仅某些控件

大卫·尤

我正在使用WPF GUI,并且我希望窗口自动调整大小以适应内容,而不是所有内容:我具有一些各种按钮和其他控件,并且我希望自动调整宽度。如果我在列表框中添加一个长项,则我希望窗口大小保持不变。

示例代码:

<Window x:Class="QuickieWPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" SizeToContent="WidthAndHeight" ResizeMode="CanMinimize">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <StackPanel Orientation="Horizontal">
            <Button Width="100" Content="Foo" Click="Button_Click"/>
            <Button Width="100" Content="Bar" Click="Button_Click"/>
            <Button Width="100" Content="Baz" Click="Button_Click"/>
        </StackPanel>
        <ListBox Grid.Row="1" Name="TheList" Height="100"/>
    </Grid>
</Window>

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        string str = "This is a really long text item that will be wider than the " +
            "three buttons. I want a horizontal scrollbar on the listbox, not a wider " +
            "window. I want the window to size to the buttons, not to this listbox.";
        this.TheList.Items.Add(str);
    }
}

最初,将窗口的大小调整为按钮:

在此处输入图片说明

在将长项添加到列表框中后,我目前得到以下信息:

在此处输入图片说明

但是我宁愿得到这个:

在此处输入图片说明

(我通过在列表框中设置MaxWidth来完成了最后一个屏幕截图,但这并不是完整应用程序的一个好解决方案:在完整应用程序中,它不仅仅是三个按钮;它是按钮,图标,文本框,标签等,并且我希望窗口自动调整大小以适应整个混乱,而不是底部的列表框。)

EVK

您可以将不需要自动调整大小的内容的宽度绑定到您要执行的内容的实际宽度,例如:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <StackPanel Orientation="Horizontal" x:Name="panel">
        <Button Width="100"
                Content="Foo"
                Click="Button_Click" />
        <Button Width="100"
                Content="Bar"
                Click="Button_Click" />
        <Button Width="100"
                Content="Baz"
                Click="Button_Click" />
    </StackPanel>
    <ListBox Grid.Row="1"
             Name="TheList"
             Height="100" Width="{Binding ElementName=panel, Path=ActualWidth}" />
</Grid>

在这里,我使用按钮将ListBox的宽度绑定到面板的实际宽度,在这种情况下,可以实现所需的功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自动将winform和控件调整为屏幕大小

来自分类Dev

Outlook栏自动调整为树形控件的大小

来自分类Dev

Outlook栏自动调整为树形控件的大小

来自分类Dev

WinForm 自动为新控件调整窗口大小,但仍允许用户调整大小?

来自分类Dev

在 Google Chrome 中为某些网站/域自动调整图像大小

来自分类Dev

自动调整Winform的大小-弄乱控件的顺序

来自分类Dev

容器应仅针对自适应设计CSS自动调整为背景图像的高度

来自分类Dev

调整父窗口大小时自动调整用户控件的大小

来自分类Dev

N仅替代某些类型的自动模拟

来自分类Dev

Android:为每个设备自动调整大小

来自分类Dev

UiTableViewCell为不同设备自动调整大小

来自分类Dev

div大小自动调整为内容

来自分类Dev

HTML签名仅调整Outlook中某些图像的大小

来自分类Dev

设置某些属性后,Designer自动调整表单大小

来自分类Dev

避免在Winform .NET应用程序中自动调整控件大小和放置控件

来自分类Dev

自动调整UITableView高度以仅显示存在的UITableViewCell

来自分类Dev

如何使collectionViewCell仅按高度自动调整大小?

来自分类Dev

如何仅使用CSS来自动调整textareas的大小?

来自分类Dev

Xcode方法自动完成仅显示某些类

来自分类Dev

Xcode方法自动完成仅显示某些类

来自分类Dev

Silverlight-获取设置为拉伸/自动的控件的尺寸

来自分类Dev

检查所有控件是否为空并对某些控件进行例外处理

来自分类Dev

仅将图像调整为特定宽度(AppleScript或Automator)

来自分类Dev

如何使用svg将图像灰度调整为仅60%?

来自分类Dev

自动将列调整为垂直滚动条的Listview

来自分类Dev

Android Studio / Gradle:为Android自动调整图像大小

来自分类Dev

Swift-UILabel自动调整为文本长度

来自分类Dev

自动调整在JavaFx中分配为图形的形状的大小

来自分类Dev

使用自动布局将NSView调整为其子视图

Related 相关文章

  1. 1

    自动将winform和控件调整为屏幕大小

  2. 2

    Outlook栏自动调整为树形控件的大小

  3. 3

    Outlook栏自动调整为树形控件的大小

  4. 4

    WinForm 自动为新控件调整窗口大小,但仍允许用户调整大小?

  5. 5

    在 Google Chrome 中为某些网站/域自动调整图像大小

  6. 6

    自动调整Winform的大小-弄乱控件的顺序

  7. 7

    容器应仅针对自适应设计CSS自动调整为背景图像的高度

  8. 8

    调整父窗口大小时自动调整用户控件的大小

  9. 9

    N仅替代某些类型的自动模拟

  10. 10

    Android:为每个设备自动调整大小

  11. 11

    UiTableViewCell为不同设备自动调整大小

  12. 12

    div大小自动调整为内容

  13. 13

    HTML签名仅调整Outlook中某些图像的大小

  14. 14

    设置某些属性后,Designer自动调整表单大小

  15. 15

    避免在Winform .NET应用程序中自动调整控件大小和放置控件

  16. 16

    自动调整UITableView高度以仅显示存在的UITableViewCell

  17. 17

    如何使collectionViewCell仅按高度自动调整大小?

  18. 18

    如何仅使用CSS来自动调整textareas的大小?

  19. 19

    Xcode方法自动完成仅显示某些类

  20. 20

    Xcode方法自动完成仅显示某些类

  21. 21

    Silverlight-获取设置为拉伸/自动的控件的尺寸

  22. 22

    检查所有控件是否为空并对某些控件进行例外处理

  23. 23

    仅将图像调整为特定宽度(AppleScript或Automator)

  24. 24

    如何使用svg将图像灰度调整为仅60%?

  25. 25

    自动将列调整为垂直滚动条的Listview

  26. 26

    Android Studio / Gradle:为Android自动调整图像大小

  27. 27

    Swift-UILabel自动调整为文本长度

  28. 28

    自动调整在JavaFx中分配为图形的形状的大小

  29. 29

    使用自动布局将NSView调整为其子视图

热门标签

归档