问题标签 [itemspanel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - WPF - ItemTemplate 未按预期运行
我有一个UserControl
用来显示UIElement
s 列表的。该控件由一个单独的控件组成,ItemsControl
它被ItemPanelTemplate
切换为水平StackPanel
,它ItemsSource
绑定到由DependencyProperty
暴露的UserControl
和它ItemTemplate
在 中的集合UserControl.Resources
。
一切正常,除了ItemTemplate
从未得到应用,我不明白为什么。完整来源如下。
UserControl.xaml -
UserControl.xaml.cs -
}
我像这样在主窗口中使用控件-
按钮看起来不错,但不在 200px 方形边框内。
任何帮助将不胜感激。谢谢。
wpf - ElementFlow:MeasureOverride 中的异常
我正在尝试在我的应用程序中使用 FluidKits ElementFlow-control,但在 ElementFlow 的 MeasureOverride 方法中出现异常。
元素“FluidKit.Controls.ElementFlow”的布局测量覆盖不应返回 PositiveInfinity 作为其 DesiredSize,即使 Infinity 作为可用大小传入也是如此。
在 FluidKit 之后的示例应用程序中,一切正常。当调用 MeasureOverride 时,availableSize-struct 会使用控件的边界进行初始化,但在我的应用程序中,它带有宽度和高度的 INF。
我试图找出示例和我的应用程序之间的不同之处,但两者都是一个带有网格的窗口,该窗口带有一个使用 ElementFlow for ItemsPanel 的列表框。
我发现其他人在同样的异常中苦苦挣扎,但除了给列表框一个明确的大小之外,我还没有找到任何解决方案。但我不想给它一个大小,我希望网格来管理它的布局。
有什么建议么?
wpf - WPF ItemsPanelTemplate 不起作用
我正在尝试ItemsPanelTemplate
为ListBox
. ListBox
用于 a DataTemplate
,并且我的所有隐式样式都不会覆盖ListBox
默认的视觉样式。出于某种原因,ItemsPanelTemplate
我为控件指定的 (a WrapPanel
) 被忽略,而StackPanel
使用 a 代替。
这是整个模板,我只能假设我缺少一些导致这种情况的东西。
silverlight - 奇怪的 ItemsPanelTemplate 问题(可能是 Silverlight 错误?)
我正在尝试创建一个水平方向的堆栈面板,其中包含一个垂直方向的项目堆栈面板。这是我的代码。
首先是XAML
现在代码隐藏...
我期待看到两列三个蓝色方块,但我看到的是一列六个方块
我看不到任何关于跳出来的代码公然错误......
有任何想法吗?
谢谢
wpf - 如何让 ListView 在运行时将 ItemControl 更改为 VirtualizingStackPanel
好的,所以,我有一个 ListView 派生控件,可以动态更改 Grouping 和 ItemsSource。当我分组以使滚动条消失,然后将我的 ItemsSource 更改为不同的 ICollectionView 时,我的滚动条不会返回。
基本问题是 ListView 在激活分组时更改为 VirtualizedStackPanel,并且在取消激活分组时不会变回。
我不介意在分组时禁用虚拟化——这不是问题。当我更改 ItemsSource 时,我需要一种使 ListView 重新生成它的 ItemPanel 的方法。
wpf - WPF change ItemsPanel and ItemTemplate in code behind
I have the following list in XAML:
Now I would like to be able to change the ItemsPanel and ItemTemplate from the List to the Grid version. I've tried this using the following code:
But nothing happens when excecuted.
Any idea's?
Thanks!
wpf - 如何在树视图(WPF)中获取面板
如何获得在一个内使用的面板TreeView
?我读过默认情况下为此TreeView
使用 a VirtualizingStackPanel
。当我查看TreeView
模板时,我看到的只是 <ItemsPresenter />,它似乎隐藏了使用哪个面板的详细信息。
可能的解决方案:
1)在树视图实例(“tv”)上,从代码中执行以下操作:tv.ItemsPanel。
问题是,这不会返回一个面板,而是一个 ItemsPanelTemplate(“获取或设置定义控制项目布局的面板的模板”)。
2) 制作一个 TreeView 模板,用您自己的 ItemsControl.ItemsPanel 显式替换 <ItemsPresenter />。无论如何,我提供了一个特殊的模板,所以这在我的场景中很好。然后为您放置在该模板中的面板指定部件名称,并从代码中获取该部件(即面板)。这有什么问题吗?见下文。
(我使用的是从 TreeView 派生的名为 VirtualTreeView 的控件,如下所示):
[为了能见度,我把这里所有的杂物都去掉了……]
这样做的问题是:这会立即覆盖任何 TreeView 布局机制。实际上,即使您有 TreeViewItems 填充树,您也会得到一个空白屏幕。好吧,我想要掌握面板的原因是参与MeaureOverride,但没有深入了解所有这些,我当然不想重写如何布局树视图的书。即,执行此步骤#2 的方式似乎使甚至首先使用 TreeView 的点无效。
抱歉,如果这里有一些混乱,感谢您提供的任何帮助。
wpf - WrapPanel 作为 ItemsControl 的 ItemPanel
仍然在玩 WPF 并边走边学。现在尝试构建控件的动态分组(主要是按钮,但可能包括复选框和其他)。
我不知道最好的方法是什么,所以我尝试创建一个 ItemsControl 样式,然后将这些项目添加到 WrapPanel 内的 ItemsPresenter 中。很快意识到这些项目不会包装,因为它们实际上不在 WrapPanel 内,除非我把它作为 ItemsHost。像这样:
请注意,这是一项正在进行的工作,我仍然需要实现许多样式效果。我在这里使用它:
还要注意,它仍然是一项正在进行的工作,因为 UniformGrid 不是去这里的方式,而且边距也可能是一种痛苦(是否有任何边距重叠?)所以输入将不胜感激。
现在到了真正的问题。这不起作用我得到一个错误:
无法将“ItemsPresenter”对象添加到“WrapPanel”。无法显式修改用作 ItemsControl 的 ItemsPanel 的 Panel 的 Children 集合。ItemsControl 为 Panel 生成子元素。对象“System.Windows.Controls.ItemsPresenter”出错。
那么做这样的事情的最好方法是什么(希望能够将按钮和其他控件扔到 ItemControl 中,并且排队真的很好)。将控件放入某种集合并进行迭代会更好吗?
很想把它做好,但我的 WPF 技能仍然缺乏。是否有任何 WPF 书籍可以教授基础知识并展示专业人士如何真正做到这一点?
wpf - WPF:更改 TabPanel 中选项卡的布局
而不是在顶部,我不想在左侧的标签。我更改了 TabControl 的模板,以便 TabPanel 将出现在第一列中,而第二列将承载内容。
问题是我不确定如何更改 TabPanel 的布局,以便选项卡垂直堆叠。
我知道在普通的 ItemsControl 对象中,我应该更改它的 ItemsPanel。我怎样才能做到这一点?
silverlight - Silverlight 的 ItemsControl Canvas.TopProperty 和 Canvas.LeftProperty 未使用
我想创建一个画布,用户可以在其中放置 UI 元素(代表任务)。然后他可以拖动它们以重新排列它们。这些元素包含在作为 DataContext 的 ObservableCollection 中。
我可以设置 Canvas 的 Left 和 Top 属性,但对象位置不受影响。有任何想法吗?
谢谢,
卡雷尔
更新:忘记 ItemsControl 后代(感谢菲尔):
更多信息:
从 usercontrol 派生的绑定对象会引发异常,因此经过一番谷歌搜索后,我创建了一个 valueconverter:
这行得通。但是当我绑定 ObservableCollection 中包含的元素的 Left 和 Top 属性时,它们没有被使用:所有项目都放置在位置 0,0
这是后面的代码:
这是xaml: