- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
来自 this question ,我将问题深入到列表框,当列表框项目缩小时,它不会调整大小。当项目的大小增加时,它会相应地调整大小,但当项目的大小减小时,它不会缩小。
项目可以增长/缩小,因为项目包含文本框,随着输入调整大小。
Jeremiah 建议用更多代码来开始一个新问题,所以我们开始:
我们邪恶的列表框是 UserControl 的一部分,它包含一个带有标签(HorizontalAlignment=Center)、列表框(HA=Left)和一个按钮(HA=Right)的 StackPanel。列表框项数据链接到 ObservableCollection
您将在 ListBox 和 ListBoxItems 上识别出漂亮的背景色。我用它们来判断 Items 或 Listbox 本身是否不收缩。我发现,项目缩小了,但列表框没有。
好的,这是我的 UserControl 的代码:
<StackPanel VerticalAlignment="Top" HorizontalAlignment="Left">
<StackPanel.Background>
<SolidColorBrush Color="{StaticResource ColorBasicDark}"/>
</StackPanel.Background>
<sdk:Label x:Name="LabelServiceName" FontSize="{StaticResource FontSizeMedium}" Margin="2" HorizontalAlignment="Center" Content="LabelServiceName">
<sdk:Label.Foreground>
<SolidColorBrush Color="{StaticResource ColorBasicLight}"/>
</sdk:Label.Foreground>
</sdk:Label>
<ListBox x:Name="ListBoxCharacteristics" BorderBrush="{x:Null}" Margin="0" HorizontalContentAlignment="Left" FontSize="9.333" HorizontalAlignment="Left">
<ListBox.Foreground>
<SolidColorBrush Color="{StaticResource ColorBasicLight}"/>
</ListBox.Foreground>
<!-- DataTemplate to display the content -->
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel x:Name="StackPanelBorder" Orientation="Horizontal" HorizontalAlignment="Left">
<TextBox x:Name="TextBoxCharacteristicName" Style="{StaticResource InputTextBox}" Text="{Binding Name}" />
<TextBox x:Name="TextBoxSep" Style="{StaticResource ReadOnlyTextBox}" Text="=" />
<TextBox x:Name="TextBoxFuncOrValue" Style="{StaticResource InputTextBox}" Text="{Binding Value.Text}" />
<TextBox x:Name="TextBoxValue" Style="{StaticResource ReadOnlyTextBox}" />
<Button x:Name="ButtonRemove" Style="{StaticResource BasicButtonStyle}" Content="-" Click="ButtonRemove_Click" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="Background" Value="Yellow" />
</Style>
</ListBox.ItemContainerStyle>
<ListBox.Background>
<SolidColorBrush Color="Red" />
</ListBox.Background>
</ListBox>
<Button x:Name="ButtonAddCharaDisplayObject" Style="{StaticResource BasicButtonStyle}" Content="+" HorizontalAlignment="Right" Click="ButtonAddCharaDisplayObject_Click" />
</StackPanel>
最佳答案
我终于在this post中找到了解决方案.问题是,从 Silverlight 3 开始,ListBox 使用 VirtualizationStackPanel 来显示 ListItems。除了 StackPanel,VirtualizationStackPanel 使用它获得的所有空间和 从不 还回去。因此,当列表中最大的项目缩小并且 ListBox 本身可能缩小时,因为现在有未使用的空间,ListBox 的宽度(和高度)仍将保持不变,因为 VirtualizationStackPanel 没有正确缩小。
为了解决这个问题,我们可以强制 ListBox 使用 StackPanel 而不是 VirtualizationStackPanel。请注意,这可能会以性能为代价!
<ListBox HorizontalContentAlignment="Left" FontSize="9.333" HorizontalAlignment="Left">
... // other listbox related stuff
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
关于银光 4 : Listbox doesn't shrink when its items shrink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3110159/
来自 this question ,我将问题深入到列表框,当列表框项目缩小时,它不会调整大小。当项目的大小增加时,它会相应地调整大小,但当项目的大小减小时,它不会缩小。 项目可以增长/缩小,因为项目包
请看我的脑残粉 我一直坚持用正则表达式缩小一些很长的路径,就像这样: /12345/123456/1234/123/12/1/1234567/13245678/123456789/1234567890
我正在使用 FB.Canvas.setAutoGrow(7); 来扩展我的页面(page=highscore 表因此需要扩展)。 然而,当我回到其他页面时, Canvas 保持增长,但它应该适应新的内
我开始使用 flexbox,为了理解 flex-grow 和 flex-shrink,我使用了一个简单的程序来显示两个 block 和在其中一个中使用 flex-grow: 2 并在另一个中使用 fl
我创建了一个简单的报告并将其上传到我的报告服务器。它在报表服务器上看起来是正确的,但是当我设置电子邮件订阅时,报表比预期的要窄得多。 这是报表在设计器中的样子。当我在报表服务器上查看时,它看起来很相似
假设有一些面包屑栏 - 一行包含各种链接数,每个链接都有省略号,如果溢出它应该缩小。 溢出应该很聪明 - 如果有 5 个链接,其中 2 个链接比其他链接宽得多,它们必须缩小到 20%,而 3 个短链接
我目前正在使用 Itextsharp,但在使用 PDfPtables 时遇到了一些麻烦。 有时它们对于一页来说太大了,并且当添加到文档中时,它们会被分成多个页面。 可悲的是,我的一些上司无法接受这种理
Nagarajan 等人。书(R 中的贝叶斯网络,O'Reilly 2013,第 35 页)说,当我使用 R bnlearn 包的标记数据集并要求通过编写使用增长-收缩实现来学习结构时 library
我编写了一个代码,其中有一个名为 array2 的数组,其中包含 0. 和 1. 之间的数字。当我单击 imshow 显示的数组时,数组中的单元格的值为 2. 并变为红色。 然后我添加了一个颜色条,但
我对下面的代码有疑问。我在下面的代码成功地运行了一个目录,并将图片的分辨率设置为较小的尺寸。但是,文件大小没有改变。例如,尺寸为 2400x1800 且文件大小为 1.5MB 的图像将缩放为 800x
基本问题是:如何在自身包含其他元素的同时收缩以适合元素? 目标是在(居中)图像上有一个(居中)菜单,其宽度和高度应与图像尺寸相关。所有这些都是响应式的,这意味着没有绝对尺寸! 这是示例代码:
我想要一个元素,它的子元素在 width 中增长,子元素向左浮动,我希望父元素在其父元素中居中。当 float 的 child 开始包裹时,一侧的宽度大了 ~20px,我不希望这样。 理论上我有我想要
这个问题已经有答案了: Add delay before .hide() w/jQuery (2 个回答) 已关闭 9 年前。 我想做的事情: 我想在设定的持续时间(例如 3 秒)后隐藏元素或图像。不
我在处理动画时遇到问题。 image View 从比例 1 开始。我想缩小它。代码看起来很简单: image.transform = CGAffineTransformIdentity // Voi
我这里有一个简单的 jsFiddle,其中 pos2 从 pos1 获取 css 并制作动画以在 pos1 上覆盖 pos2。 http://jsfiddle.net/4beEM/4/ 可以看到,点击
我有一个 block ,其中有一个图像和另一个 block 。 父 block 有display:flex,使图像和子 block 排成一排。 子 block 也有 display:flex,但它形成
有一个页面显示 s 为 12pt 字体。它在除 IE7+ 之外的任何浏览器中都可以正常打印。在 IE7+ 中,用户浏览器默认选择“收缩以适合”,因此它打印的文本更接近 9pt。 我们需要以 12pt
我有一个简单的 flex-box 布局,我希望中间的元素直接缩小,但我无法找到 flex-shrink 属性起作用的任何情况。 我已经尝试删除 flex-container 上的 flex-wrap
我有一个 div,我想在其中使用带有 3 个按钮的全 Angular 按钮组。第二个和第三个按钮“文本”将只是字体超棒的图标,所以我希望它们比第一个小。 (比如60%-20%-20%) 我试过这个片段
我有一个脚本,它从正在检查不正确数据的记录文件中读入。它们可能各自抛出相同的异常,并且它们存在于同一行。有没有一种方法可以识别哪个字段抛出异常而不必将其分成多行? 此处为玩具示例: a = [1] b
我是一名优秀的程序员,十分优秀!