- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 UserControl
我用来显示 UIElement
的列表s。该控件由单个 ItemsControl
它是 ItemPanelTemplate
切换为水平 StackPanel
, 它的 ItemsSource
绑定(bind)到 DependencyProperty
由 UserControl
曝光及其ItemTemplate
设置在 UserControl.Resources
.
一切正常,除了 ItemTemplate
从来没有得到应用,我不明白为什么。完整来源如下。
UserControl.xaml -
<UserControl x:Name="UC" x:FieldModifier="private" x:Class="ContentSliderControl.ContentSlider"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<UserControl.Resources>
<DataTemplate x:Key="pageTemplate">
<Border CornerRadius="10" Padding="5" Height="200" Width="200" Background="#333">
<ContentControl Content="{Binding}"/>
</Border>
</DataTemplate>
<ItemsPanelTemplate x:Key="template">
<StackPanel IsItemsHost="True"
Orientation="Horizontal"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Disabled"/>
</ItemsPanelTemplate>
</UserControl.Resources>
<ItemsControl ItemsPanel="{StaticResource template}"
ItemTemplate="{StaticResource pageTemplate}"
ItemsSource="{Binding ElementName=UC,Path=Pages}"/>
[ContentProperty("Pages")]
public partial class ContentSlider : UserControl
{
public List<UIElement> Pages
{
get { return (List<UIElement>)GetValue(PagesProperty); }
//set { SetValue(PagesProperty, value); }
}
// Using a DependencyProperty as the backing store for Pages. This enables animation, styling, binding, etc...
public static readonly DependencyProperty PagesProperty =
DependencyProperty.Register("Pages", typeof(List<UIElement>), typeof(ContentSlider), new UIPropertyMetadata(null));
public ContentSlider()
{
InitializeComponent();
}
}
<slider:ContentSlider >
<slider:ContentSlider.Pages>
<Button>1</Button>
<Button>2</Button>
<Button>3</Button>
<Button>4</Button>
</slider:ContentSlider.Pages>
</slider:ContentSlider>
最佳答案
尼尔是正确的,ItemsControl
将项目直接添加到其Panel
如果它们是 UIElements。我在 MSDN 中找不到任何关于这种行为的提及,但 WPF 博士在 his article on item containers 中提到了它。 :
If a UIElement is added to the Items collection of an explicit ItemsControl instance (as opposed to an instance of a derived class like ListBox), it will become a direct child of the items panel. If a non-UIElement is added, it will be wrapped within a ContentPresenter.
ListBox
而是设置
ItemContainerStyle
到一个新的
Style
对于
ListBoxItem
,在那种风格中,使用
ControlTemplate
与您的
Border
在里面。
关于WPF - ItemTemplate 未按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/661831/
我有一个带有许多ItemTemplates的ListView。每个ItemTemplate中有一个Repeater,显示每个ItemTemplate中的文件列表(即类别)。目前,所有类别中的所有文件都
我有一个“报告”页面,该页面将根据表格中的事件报告数量显示动态数量的按钮(格式为 ASP:Hyperlinks)。除了我想要的显示,我可以让一切正常工作。我想并排查看我的按钮(左边是“ItemTemp
我有一个 UserControl我用来显示 UIElement 的列表s。该控件由单个 ItemsControl它是 ItemPanelTemplate切换为水平 StackPanel , 它的 It
我在 ListBox 中使用 ComboBox 作为 ItemTemplate。我的 ComboBox 是可编辑的。当用户在组合框中使用鼠标滚轮时,它会更改当前值。我不想要那个。我想让 ListBox
我有服务器控件,例如在另一个 gridview 的模板字段中带有 gridview 的弹出窗口:
我有一个显示 2 个列表的窗口,它们应该使用相同的模板,所以我考虑将模板放入我的窗口中的资源中,如下所示:
我确信这很简单,但我似乎无法弄清楚如何去做。基本上我有一个来自 azure 移动服务数据库的客户列表。到目前为止一切正常,但我想根据数据为列表框中的每个项目设置项目模板。我有 2 个模板,一个用于公司
我有一个用户控件,它为该控件定义了一个 ItemsControl 和一个 ItemTemplate,即,
我正在处理icons.XAML 图像,将它们插入到文本块上方的按钮中。一切看起来都很棒,直到我将鼠标悬停在图像本身上。一个灰色框只出现在图片上: 如何摆脱灰盒? 这是其中一个图标: 这是
我正在创建一个带有绑定(bind)到项目名称的列表框的 WPF 应用程序。作为装饰元素,我想在列表中的每个项目旁边放置一个小图标,类似于 Outlook 在其个人文件夹列表中所做的方式。对于初学者,我
当 PivotItem 声明为: Text 但是我在使用绑定(bind)的时候如何设置Margin:
我有一个使用 MVVM 的 WPF 应用程序。 此代码来 self 的 ResourceDictionary.xaml
我试图显示一个 ComboBox,其 ItemsSource 是控件的集合(它是 PropertyGrid 的一部分,ComboBox 应该显示控件的名称,并且用户应该能够选择其中一个控件)。这是该问
我希望这个 Ellipse 从其对应的 BallViewModel 中获取其坐标,并使用它们来确定其在 Canvas 内的位置。 球列表绑定(bind)List在 mainviewmodel 中,因此
我有一个带有ItemTemplate的以下ListBox
我有一个 ListView与 ItemTemplate .对于我 ItemSource 中的每个项目,我想遍历项目中的一个属性并在我的 ViewCell 中创建一个部分. 所以每一项都是 Downlo
我有一个 ListBox 控件的情况。在项目模板内有一个按钮。当我单击按钮时,我想将所述 ListBox 的所选项目更改为按钮所在的项目。目前,我可以通过单击项目模板中的其他位置来更改所选项目,但如果
我为 ListViewItem 创建了一个模板。 它并没有填满所有的空间。 我的模板如下:
我为 ListViewItem 创建了一个模板。 它并没有填满所有的空间。 我的模板如下:
我有一个 MenuItem 类型的 WPF 控件模板:
我是一名优秀的程序员,十分优秀!