C# itemscontrol中的wpf边框笔刷绑定
我在ItemsControl中有一个边框,它需要从ItemsSource(一个可观察的集合)中名为BorderColor的字段获取它的BorderBrushC# 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="{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; }
}