我是新手,並且對ListBox.GroupStyle的某些語法感到困惑。代碼:Binding Path = WPF中的名稱意味着什麼?
<Window x:Class="testCollectionViewSource.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<CollectionViewSource x:Key="CVS" Source="{Binding Path=Cs}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="B" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</Window.Resources>
<Grid>
<ListBox ItemsSource="{Binding Source={StaticResource CVS}}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding S}"/>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListBox.GroupStyle>
</ListBox>
</Grid>
</Window>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Cs = new ObservableCollection<C>();
Cs.Add(new C(true, "1"));
Cs.Add(new C(false, "2"));
Cs.Add(new C(true, "3"));
Cs.Add(new C(false, "4"));
DataContext = this;
}
public ObservableCollection<C> Cs { get; set; }
}
public class C
{
public C(bool b, string s)
{
B = b;
S = s;
}
public bool B { get; set; }
public string S { get; set; }
}
所以我的問題是,爲什麼只有當{結合名稱}做標題顯示「真」或「假」的,爲什麼{結合乙}不行? 「名稱」是什麼意思,因爲C類沒有這樣的屬性。
+1 Nice answer。我不知道「Snoop」。 – gleng