1
我不確定wpf控件的分層模板。例如,對於組合框。控件的分層模板
<ComboBox ItemsSource="{Binding .}">
<ComboBox.ItemTemplate>
<DataTemplate>
<Border HorizontalAlignment="Stretch">
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ComboBoxItem}, Path=DataContext.IsSelected}" Value="True">
<Setter Property="Background" Value="LightGreen"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<StackPanel HorizontalAlignment="Stretch">
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding Email}">
</TextBlock>
</StackPanel>
</Border>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
它可能有控制模板類似,但我不知道。
combox有一個模板兒子ItemTemplate和一個孫子DateTemplate。因此,爲了控制,有多少模板兒子和孫子?我們可以枚舉它們和圖表中的關係嗎?
所以這對於組合框。在一般控制中,如果它是一個按鈕,它是否具有相同的模式? – Bigeyes
不,一個按鈕沒有「ItemTemplate」,「ItemContainerStyle」和「ItemsPanel」。這些特定於[''ItemsControl''](https://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol(v = vs.110).aspx)和其他控件派生自它,比如''ListBox'',''TreeView''等''Button''具有''ControlTemplate''類型的'''Template''屬性。實際上,它不需要這些屬性。 – Ron
所以每個控件都有自己的模式。我怎樣才能記住這些? – Bigeyes