问题标签 [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.

0 投票
5 回答
2836 浏览

wpf - WPF - ItemTemplate 未按预期运行

我有一个UserControl用来显示UIElements 列表的。该控件由一个单独的控件组成,ItemsControl它被ItemPanelTemplate切换为水平StackPanel,它ItemsSource绑定到由DependencyProperty暴露的UserControl和它ItemTemplate在 中的集合UserControl.Resources

一切正常,除了ItemTemplate从未得到应用,我不明白为什么。完整来源如下。

UserControl.xaml -

UserControl.xaml.cs -

}

我像这样在主窗口中使用控件-

按钮看起来不错,但不在 200px 方形边框内。

任何帮助将不胜感激。谢谢。

0 投票
3 回答
1999 浏览

wpf - ElementFlow:MeasureOverride 中的异常

我正在尝试在我的应用程序中使用 FluidKits ElementFlow-control,但在 ElementFlow 的 MeasureOverride 方法中出现异常。

元素“FluidKit.Controls.ElementFlow”的布局测量覆盖不应返回 PositiveInfinity 作为其 DesiredSize,即使 Infinity 作为可用大小传入也是如此。

在 FluidKit 之后的示例应用程序中,一切正常。当调用 MeasureOverride 时,availableSize-struct 会使用控件的边界进行初始化,但在我的应用程序中,它带有宽度和高度的 INF。

我试图找出示例和我的应用程序之间的不同之处,但两者都是一个带有网格的窗口,该窗口带有一个使用 ElementFlow for ItemsPanel 的列表框。

我发现其他人在同样的异常中苦苦挣扎,但除了给列表框一个明确的大小之外,我还没有找到任何解决方案。但我不想给它一个大小,我希望网格来管理它的布局。

有什么建议么?

0 投票
2 回答
2333 浏览

wpf - WPF ItemsPanelTemplate 不起作用

我正在尝试ItemsPanelTemplateListBox. ListBox用于 a DataTemplate,并且我的所有隐式样式都不会覆盖ListBox默认的视觉样式。出于某种原因,ItemsPanelTemplate我为控件指定的 (a WrapPanel) 被忽略,而StackPanel使用 a 代替。

这是整个模板,我只能假设我缺少一些导致这种情况的东西。

0 投票
1 回答
774 浏览

silverlight - 奇怪的 ItemsPanelTemplate 问题(可能是 Silverlight 错误?)

我正在尝试创建一个水平方向的堆栈面板,其中包含一个垂直方向的项目堆栈面板。这是我的代码。

首先是XAML

现在代码隐藏...

我期待看到两列三个蓝色方块,但我看到的是一列六个方块

我看不到任何关于跳出来的代码公然错误......

有任何想法吗?

谢谢

0 投票
1 回答
706 浏览

wpf - 如何让 ListView 在运行时将 ItemControl 更改为 VirtualizingStackPanel

好的,所以,我有一个 ListView 派生控件,可以动态更改 Grouping 和 ItemsSource。当我分组以使滚动条消失,然后将我的 ItemsSource 更改为不同的 ICollectionView 时,我的滚动条不会返回。

基本问题是 ListView 在激活分组时更改为 VirtualizedStackPanel,并且在取消激活分组时不会变回。

我不介意在分组时禁用虚拟化——这不是问题。当我更改 ItemsSource 时,我需要一种使 ListView 重新生成它的 ItemPanel 的方法。

0 投票
2 回答
4365 浏览

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!

0 投票
2 回答
956 浏览

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 的点无效。

抱歉,如果这里有一些混乱,感谢您提供的任何帮助。

0 投票
3 回答
34123 浏览

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 书籍可以教授基础知识并展示专业人士如何真正做到这一点?

0 投票
1 回答
1956 浏览

wpf - WPF:更改 TabPanel 中选项卡的布局

而不是在顶部,我不想在左侧的标签。我更改了 TabControl 的模板,以便 TabPanel 将出现在第一列中,而第二列将承载内容。

问题是我不确定如何更改 TabPanel 的布局,以便选项卡垂直堆叠。

我知道在普通的 ItemsControl 对象中,我应该更改它的 ItemsPanel。我怎样才能做到这一点?

0 投票
1 回答
1231 浏览

silverlight - Silverlight 的 ItemsControl Canvas.TopProperty 和 Canvas.LeftProperty 未使用

我想创建一个画布,用户可以在其中放置 UI 元素(代表任务)。然后他可以拖动它们以重新排列它们。这些元素包含在作为 DataContext 的 ObservableCollection 中。

我可以设置 Canvas 的 Left 和 Top 属性,但对象位置不受影响。有任何想法吗?

谢谢,

卡雷尔

更新:忘记 ItemsControl 后代(感谢菲尔):

更多信息:

从 usercontrol 派生的绑定对象会引发异常,因此经过一番谷歌搜索后,我创建了一个 valueconverter:

这行得通。但是当我绑定 ObservableCollection 中包含的元素的 Left 和 Top 属性时,它们没有被使用:所有项目都放置在位置 0,0

这是后面的代码:

这是xaml: