问题标签 [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.
c# - 样式设置器中的 UWP 绑定不起作用
我在创建 xaml 控件时遇到问题。我正在通用应用程序中的 VS 2015 中编写新项目。我想创建网格。在这个网格中,我想要一个按钮。在模型中,我指定列(级别)和行。这是我的代码:
我在行中收到错误<Setter Property="Grid.Column" Value="{Binding Level}" />
错误:HRESULT 异常:0x8000FFFF (E_UNEXPECTED) 在 edytor 中而不在运行代码中。怎么了?在“旧”WPF 中一切正常,但在适用于 Windows 10 的通用应用程序中出现错误。谁能帮我 ?
wpf - 如何使用数据模板处理多个选项卡的启用属性?
我有一个带有两个选项卡的窗口,其中包含两个不同的用户控件。为了启用/禁用导航到第二个选项卡,我IsEnabled
在两个 VM 的IPageViewModel
界面中实现了一个属性。
当通过 Messenger 服务从SelectedCustomer
接收到a 时,IsEnabled 布尔属性设置为 true 。CustomerOrdersViewModel
CustomerDetailsViewModel
到目前为止,此方法有效,因为当我从第一个视图的数据网格中选择客户时,第二个选项卡已启用。但问题是当我尝试选择第一个选项卡以返回初始视图时,它已禁用。
这是特定导航问题的屏幕截图。
我不确定为什么当我使用信使将 IsEnabled 属性设置为 true 时,两个选项卡都会启用。
有人对这里的问题有任何建议吗?
在CustomerDetailsViewModel
我通过信使发送 selectedCustomer 中:
然后在CustomerDetailsViewModel
IsEnabled 属性中设置为 true,因为 SelectedCustomer 已通过:
这是包含两个用户控件以及为每个控件生成的选项卡的 ApplicationView xaml:
c# - 来自 ItemContainerStyle 的样式设置器中的 UWP 绑定不起作用
我创建了一个 BindingHelper 来在样式设置器中设置绑定,就像这个例子一样......
但它不起作用。任何人都可以帮助我完成示例或找到我的错误吗?
这里是公共类 BindingHelper 后面的代码
wpf - ListBox中ContainerStyle和ContentTemplate的XAML单独绑定
我现在尝试了一段时间并在网上搜索但没有成功......现在我敢自己在stackoverflow上提问。
因此,目的是将 a 的 theItemContainerStyle
和 theContentTemplate
的定义分开ListBoxItem
。我已经ListBoxItemStyle
在 aResourceDictionary
和两个不同DataTemplates
的Window.Resources
.
我现在喜欢ListBoxItem
根据 中定义的样式设置样式,并使用触发器 ( )ResourceDictionary
更改样式。DataTemplate
IsMouseOver
我的(不工作)代码看起来像这样:
其中DefaultListBoxStyle
是 中定义的样式ResourceDictionary
,PersonsListBoxItemTemplate_default
&PersonsListBoxItemTemplate_infoButtons
是 中定义的 DataTemplates Window.Resources
。
现在我得到一个错误,样式对象不能对其所属对象的样式属性产生影响。
我尝试了不同的方法,但没有成功......我也尝试过先定义样式然后更改模板,但它也不起作用。
感谢大家的帮助!
wpf - 绑定到 ItemContainerStyle 内的 ViewModel 属性以在触发器中使用
我有一个 TreeView,它的 DataContext 是我的 ViewModel。ViewModel 有一个属性MyProp
。在 TreeView 中,我定义了一个带有 DataTrigger 的 ItemContainerStyle:
但是由于 ItemContainerStyle 有一个 Item 作为其 DataContext 而不是 ViewModel,因此 DataTrigger 中的 Binding 不起作用。那么如何告诉我要绑定的 BindingViewModel.MyProp
呢?看来我无法DataContext
在样式和触发器中设置,那我还能怎么做呢?
c# - 在计数 1 上仅隐藏 Tab Header 而不是 TabItem
我有一个从 ObservableCollection 创建 TabItems 的 TabControl。因此,在我的 ViewModel 中,我已经有一个布尔属性 IsMultiple 并且已经在代码中设置了。那么如何完全隐藏选项卡标题,但仍显示该选项卡的内容。我有这个:
基本上我想隐藏itemtemplate,注意我不能只隐藏TextBlock,因为样式仍然只有空文本。我想删除/隐藏完整的 Tab 标题。
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),而我没有打开的组合框会跟踪可见性的变化项目。
我正在寻找一种重新创建这些项目的解决方案,以便应用具有可见性更改的新样式
c# - 尝试响应简单的 ListView 项单击
简单的目标。点击 %$^%# 小丑...得到一个 *&^$^$ 消息框。我希望能够对单击列表视图的单行做出反应。事实证明这是非常困难的。我知道正在应用 ItemContainerStyle ...所有项目都被推到右边。那么为什么事件没有触发呢?
这是 XAML:
这是代码隐藏: