问题标签 [itemcontainerstyle]

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 投票
2 回答
8903 浏览

c# - 样式设置器中的 UWP 绑定不起作用

我在创建 xaml 控件时遇到问题。我正在通用应用程序中的 VS 2015 中编写新项目。我想创建网格。在这个网格中,我想要一个按钮。在模型中,我指定列(级别)和行。这是我的代码:

我在行中收到错误<Setter Property="Grid.Column" Value="{Binding Level}" /> 错误:HRESULT 异常:0x8000FFFF (E_UNEXPECTED) 在 edytor 中而不在运行代码中。怎么了?在“旧”WPF 中一切正常,但在适用于 Windows 10 的通用应用程序中出现错误。谁能帮我 ?

0 投票
2 回答
440 浏览

wpf - 如何使用数据模板处理多个选项卡的启用属性?

我有一个带有两个选项卡的窗口,其中包含两个不同的用户控件。为了启用/禁用导航到第二个选项卡,我IsEnabled在两个 VM 的IPageViewModel界面中实现了一个属性。

当通过 Messenger 服务从SelectedCustomer接收到a 时,IsEnabled 布尔属性设置为 true 。CustomerOrdersViewModelCustomerDetailsViewModel

到目前为止,此方法有效,因为当我从第一个视图的数据网格中选择客户时,第二个选项卡已启用。但问题是当我尝试选择第一个选项卡以返回初始视图时,它已禁用

这是特定导航问题的屏幕截图。

我不确定为什么当我使用信使将 IsEnabled 属性设置为 true 时,两个选项卡都会启用。

有人对这里的问题有任何建议吗?

CustomerDetailsViewModel我通过信使发送 selectedCustomer 中:

然后在CustomerDetailsViewModelIsEnabled 属性中设置为 true,因为 SelectedCustomer 已通过:

这是包含两个用户控件以及为每个控件生成的选项卡的 ApplicationView xaml:

0 投票
2 回答
1922 浏览

c# - 来自 ItemContainerStyle 的样式设置器中的 UWP 绑定不起作用

我创建了一个 BindingHelper 来在样式设置器中设置绑定,就像这个例子一样......

样式设置器中的 UWP 绑定不起作用

但它不起作用。任何人都可以帮助我完成示例或找到我的错误吗?

这里是公共类 BindingHelper 后面的代码

0 投票
2 回答
338 浏览

c# - WPF如何在MouseOver上隐藏ComboBoxItem BorderBrush?(蓝色选择矩形)

我想在 WPF 中显示一个基于图像的组合框。它适用于一些模板,但我不知道如何摆脱蓝色的鼠标悬停矩形。见浅蓝色框:

在此处输入图像描述

好的,我找到了解决方案,现在问题已解决,请参阅此处的解决方案:

解决方案:

0 投票
1 回答
75 浏览

wpf - ListBox中ContainerStyle和ContentTemplate的XAML单独绑定

我现在尝试了一段时间并在网上搜索但没有成功......现在我敢自己在stackoverflow上提问。

因此,目的是将 a 的 theItemContainerStyle和 theContentTemplate的定义分开ListBoxItem。我已经ListBoxItemStyle在 aResourceDictionary和两个不同DataTemplatesWindow.Resources.

我现在喜欢ListBoxItem根据 中定义的样式设置样式,并使用触发器 ( )ResourceDictionary更改样式。DataTemplateIsMouseOver

我的(不工作)代码看起来像这样:

其中DefaultListBoxStyle是 中定义的样式ResourceDictionaryPersonsListBoxItemTemplate_default&PersonsListBoxItemTemplate_infoButtons是 中定义的 DataTemplates Window.Resources

现在我得到一个错误,样式对象不能对其所属对象的样式属性产生影响。

我尝试了不同的方法,但没有成功......我也尝试过先定义样式然后更改模板,但它也不起作用。

感谢大家的帮助!

0 投票
1 回答
762 浏览

wpf - 绑定到 ItemContainerStyle 内的 ViewModel 属性以在触发器中使用

我有一个 TreeView,它的 DataContext 是我的 ViewModel。ViewModel 有一个属性MyProp。在 TreeView 中,我定义了一个带有 DataTrigger 的 ItemContainerStyle:

但是由于 ItemContainerStyle 有一个 Item 作为其 DataContext 而不是 ViewModel,因此 DataTrigger 中的 Binding 不起作用。那么如何告诉我要绑定的 BindingViewModel.MyProp呢?看来我无法DataContext在样式和触发器中设置,那我还能怎么做呢?

0 投票
1 回答
1579 浏览

c# - 在计数 1 上仅隐藏 Tab Header 而不是 TabItem

我有一个从 ObservableCollection 创建 TabItems 的 TabControl。因此,在我的 ViewModel 中,我已经有一个布尔属性 IsMultiple 并且已经在代码中设置了。那么如何完全隐藏选项卡标题,但仍显示该选项卡的内容。我有这个:

基本上我想隐藏itemtemplate,注意我不能只隐藏TextBlock,因为样式仍然只有空文本。我想删除/隐藏完整的 Tab 标题。

0 投票
1 回答
257 浏览

wpf - WPF:如何重新创建 ItemContainer?

在我之前的问题如何更改 ComboBox 项目可见性之后,由于问题略有改变,我决定打开一个新帖子来解决它。对于那些不想阅读上一篇文章的所有评论的人来说,情况就是这样。

我有一个在运行时生成的 DataGrid。此数据网格的每一列在标题内都有一个组合框。所有这些组合框都具有相同的 Source,即类项的可观察集合。每个项目都显示我在组合框的 ItemContainerStyle 中使用的属性,以决定每个 ComBoBoxItem 是否应该是可见的。

现在,据我所知,WPF 以这种方式工作:如果一个视图包含组合框或树视图之类的控件,那么它们的项目(即 ComboBoxItem、TreeViewItem ...)将不会生成,直到它不是必需的(例如,当打开组合框的下拉菜单)。如果我应用 ItemContainerStyle,这将告诉目标应该如何创建它的项目。问题是,在生成这些项目的那一刻,我需要应用于样式的每个更改都不会被保存。

这是我的代码:

物品容器样式:

选择改变:

我的要求是,如果在 N 组合框中的任何一个中选择了一个项目,那么任何人都不能选择该项目,直到他失去 SelectedItem 状态。例如,假设我有 2 个组合框和 4 个 Item (x,y,a,b) 的集合。如果在 ComboBox1 中选择了 x,则在 ComboBox1 的 SelectedItem 更改(例如从 x 到 y)之前,无法在 2 个 ComboBox 中选择 x。现在我什至可以接受这样一个事实,即下拉列表中的项目只是被禁用,如果它使事情变得更容易,我只需要这样一个事实,即如果他已经被选中,它就不能再次被选中。

问题是该解决方案适用于每个具有 ItemContainerGenerator.Status = NotStarted 的 ComboBox(这意味着 ComboBoxItem 仍未创建)。如果我打开一个组合框的下拉列表,那么无论我做什么,它的 ComboBox 项都将保留它们的样式(因为 ItemContainerGenerator.Status = ContainersGenerated),而我没有打开的组合框会跟踪可见性的变化项目。

我正在寻找一种重新创建这些项目的解决方案,以便应用具有可见性更改的新样式

0 投票
1 回答
183 浏览

c# - 尝试响应简单的 ListView 项单击

简单的目标。点击 %$^%# 小丑...得到一个 *&^$^$ 消息框。我希望能够对单击列表视图的单行做出反应。事实证明这是非常困难的。我知道正在应用 ItemContainerStyle ...所有项目都被推到右边。那么为什么事件没有触发呢?

这是 XAML:

这是代码隐藏:

截屏

0 投票
1 回答
579 浏览

wpf - ListView 中的第一项自定义样式边框

如何为 ListView 中的第一项设置不同的样式?就我而言,我想更改第一个项目的边框,以获得这样的 GUI:

第一项具有不同边框的列表

我当前的代码(没有上边框):