Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# itemscontrol中的wpf边框笔刷绑定_C#_Wpf_Binding_Border_Itemscontrol - Fatal编程技术网

C# itemscontrol中的wpf边框笔刷绑定

C# itemscontrol中的wpf边框笔刷绑定,c#,wpf,binding,border,itemscontrol,C#,Wpf,Binding,Border,Itemscontrol,我在ItemsControl中有一个边框,它需要从ItemsSource(一个可观察的集合)中名为BorderColor的字段获取它的BorderBrush 绑定正常,但边框笔刷不正常 我也试过这个,尽管文本效果很好,但它也不起作用 <ItemsControl ItemsSource="{Binding Appointments}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate>

我在ItemsControl中有一个边框,它需要从ItemsSource(一个可观察的集合)中名为BorderColor的字段获取它的BorderBrush


绑定正常,但边框笔刷不正常

我也试过这个,尽管文本效果很好,但它也不起作用

<ItemsControl ItemsSource="{Binding Appointments}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Border BorderBrush="{Binding BorderColor" BorderThickness="3">
                <TextBlock Text="{Binding AppointmentDescription}" />
            </Border>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>


哪里出错了?

同时指定ItemsControl的
ItemTemplate
和ContentPresenter的
ContentTemplate
是没有意义的,因为ItemTemplate有效地替换了ContentTemplate

删除整个
ItemContainerStyle
,然后像这样编写ItemsControl:

<ItemsControl ItemsSource="{Binding ObsColOfThings}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Border BorderThickness="3" BorderBrush="{Binding BorderColor}">
                <TextBlock Text="{Binding Text}" />
            </Border>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
当然,它应该被称为
BorderBrush
,而不是
BorderColor

<ItemsControl ItemsSource="{Binding ObsColOfThings}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Border BorderThickness="3" BorderBrush="{Binding BorderColor}">
                <TextBlock Text="{Binding Text}" />
            </Border>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
public class Item
{
    public string Text { get; set; }
    public Brush BorderColor { get; set; }
}