相关疑难解决方法(0)

如何在ItemsControl中的项之间添加分隔符

我需要在Items Control中显示一个集合中的数字列表.所以这些项目是:"1", "2", "3".

当它们被渲染时,我需要用逗号(或类似的东西)分隔它们.所以上面3个项目看起来像这样:"1, 2, 3".

如何在单个项目中添加分隔符,而不在列表末尾添加一个分隔符?

我并没有停止使用ItemsControl,但这就是我开始使用的东西.

c# wpf itemscontrol

57
推荐指数
3
解决办法
2万
查看次数

ListView中第一个和最后一个项目的不同项目模板

我需要以不同方式设置列表视图的第一个和最后一个项目的样式.为此,我开始基于该答案开发解决方案:在WPF项目控件中为最后一项使用不同的模板

基本上,我有一个自定义的ItemsTemplateSelector,它根据列表视图项中的项索引决定要应用的模板(下面的代码).

它正常工作,除了当列表更新(添加或删除项目)时,模板不会再次被选中(例如,最初,SingleItemTemplate被选中,因为有一个项目.当我添加一个项目到列表,第一项的模板没有切换到FirstItemTemplate).如何强制所有项目的模板选择?

public class FirstLastTemplateSelector : DataTemplateSelector 
{
    public DataTemplate DefaultTemplate { get; set; }
    public DataTemplate FirstItemTemplate { get; set; }
    public DataTemplate LastItemTemplate { get; set; }
    public DataTemplate SingleItemTemplate { get; set; }

    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        ListView lv = VisualTreeHelperEx.FindParentOfType<ListView>(container);
        if (lv != null)
        {
            if (lv.Items.Count == 1)
            {
                return SingleItemTemplate;
            }

            int i = lv.Items.IndexOf(item);
            if (i == 0)
            {
                return FirstItemTemplate;
            }
            else if (i == lv.Items.Count …
Run Code Online (Sandbox Code Playgroud)

wpf listview datatemplate

10
推荐指数
1
解决办法
1万
查看次数

更改ListBox中最后一项的样式

我有列表框控件,其中包含颜色列表.这是代码和图片:

<ListBox Name="FillSelections" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Center" SelectedItem="{Binding SelectedColor}" SelectionMode="Single" Style="{StaticResource HorizontalListBoxStyle}" ItemsSource="{Binding FillColors}" ItemTemplate="{StaticResource ColorsItemTemplate}"></ListBox>

 <DataTemplate x:Key="ColorsItemTemplate">
    <Border BorderBrush="Transparent">
        <Rectangle Width="20" StrokeThickness="1" Stroke="Black">
            <Rectangle.Fill>
                <SolidColorBrush Color="{Binding}" />
            </Rectangle.Fill>
        </Rectangle>
    </Border>
Run Code Online (Sandbox Code Playgroud)

图片:

图片

我如何才能像这样更改最后一项的样式:

图片

wpf listbox itemtemplate

7
推荐指数
2
解决办法
8959
查看次数

标签 统计

wpf ×3

c# ×1

datatemplate ×1

itemscontrol ×1

itemtemplate ×1

listbox ×1

listview ×1