StyleSelector Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan cara untuk menerapkan gaya berdasarkan logika kustom.
public ref class StyleSelector
public class StyleSelector
type StyleSelector = class
Public Class StyleSelector
- Warisan
-
StyleSelector
Contoh
Contoh berikut menunjukkan cara menentukan StyleSelector yang menentukan Style baris. Contoh ini mendefinisikan Background warna sesuai dengan indeks baris.
public class ListViewItemStyleSelector : StyleSelector
{
public override Style SelectStyle(object item,
DependencyObject container)
{
Style st = new Style();
st.TargetType = typeof(ListViewItem);
Setter backGroundSetter = new Setter();
backGroundSetter.Property = ListViewItem.BackgroundProperty;
ListView listView =
ItemsControl.ItemsControlFromItemContainer(container)
as ListView;
int index =
listView.ItemContainerGenerator.IndexFromContainer(container);
if (index % 2 == 0)
{
backGroundSetter.Value = Brushes.LightBlue;
}
else
{
backGroundSetter.Value = Brushes.Beige;
}
st.Setters.Add(backGroundSetter);
return st;
}
}
Public Class ListViewItemStyleSelector
Inherits StyleSelector
Public Overrides Function SelectStyle(ByVal item As Object, ByVal container As DependencyObject) As Style
Dim st As New Style()
st.TargetType = GetType(ListViewItem)
Dim backGroundSetter As New Setter()
backGroundSetter.Property = ListViewItem.BackgroundProperty
Dim listView As ListView = TryCast(ItemsControl.ItemsControlFromItemContainer(container), ListView)
Dim index As Integer = listView.ItemContainerGenerator.IndexFromContainer(container)
If index Mod 2 = 0 Then
backGroundSetter.Value = Brushes.LightBlue
Else
backGroundSetter.Value = Brushes.Beige
End If
st.Setters.Add(backGroundSetter)
Return st
End Function
End Class
Contoh berikut menunjukkan cara menentukan ResourceKey untuk StyleSelector.
namespc Awalan memetakan ke namespace CLR dan rakitan yang sesuai tempat StyleSelector ditentukan. Untuk informasi selengkapnya, lihat Namespace Layanan XAML dan Pemetaan Namespace layanan untuk WPF XAML.
<namespc:ListViewItemStyleSelector x:Key="myStyleSelector"/>
Contoh berikut menunjukkan cara mengatur ItemContainerStyleSelector properti sumber ListView daya ini StyleSelector .
<ListView
ItemsSource="{Binding Source={StaticResource EmployeeData},
XPath=Employee}"
ItemContainerStyleSelector="{DynamicResource myStyleSelector}" >
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding XPath=FirstName}"
Header="First Name" Width="120"/>
<GridViewColumn DisplayMemberBinding="{Binding XPath=LastName}"
Header="Last Name" Width="120"/>
<GridViewColumn DisplayMemberBinding="{Binding XPath=FavoriteCity}"
Header="Favorite City" Width="120"/>
</GridView>
</ListView.View>
</ListView>
Untuk contoh cara membuat pemilih untuk memilih sumber daya gaya yang ditentukan, lihat implementasi DataTemplateSelector.SelectTemplate, yang memungkinkan Anda menggunakan logika kustom untuk memilih DataTemplate, berdasarkan konsep serupa.
Keterangan
Untuk membuat StyleSelector yang menerapkan gaya berdasarkan logika kustom, buat subkelas StyleSelector kelas dan terapkan SelectStyle metode .
Konstruktor
| Nama | Deskripsi |
|---|---|
| StyleSelector() |
Menginisialisasi instans baru dari kelas StyleSelector. |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| SelectStyle(Object, DependencyObject) |
Saat ditimpa di kelas turunan Style , mengembalikan berdasarkan logika kustom. |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |