Penceremde, her biri Izgara Denetimi içeren birkaç GroupBox Denetimi vardır. Bu Izgaralara bir Tarz atamak istiyorum. Ancak, sadece bir GroupBox'ta bulunan bu Izgaralar için, tüm diğer Izgaralar etkilenmemelidir.Stil DataTrigger Ana denetimin türüne başvurusu
Aşağıdakileri denedim, hangi GetType() özellik olarak çalışmaz.
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Parent.GetType()}" Value="{x:Type GroupBox}">
<!-- <Setter Property="..." Value="..."/> -->
</DataTrigger>
</Style.Triggers>
</Style>
Ben geçici bir çözüm bulduk ama GroupBoxes değiştirmek zorunda gibi, gerçekten güzel bir çözüm değil: Açıkçası
<Style TargetType="GroupBox">
<Setter Property="Tag" Value="blub"/>
</Style>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Parent.Tag, RelativeSource={RelativeSource Mode=Self}}" Value="blub">
<!-- <Setter Property="..." Value="..."/> -->
</DataTrigger>
</Style.Triggers>
</Style>
elle her Grid stili ayarlamak olabilir, ama ben Bundan kaçınmaya çalışıyorum, çünkü bunların birçoğu var. Umarım ilk örnek çalışmayı yapmanın bir yolunu bulabilirsin. Mod tipi, bir numaralandırma olan aslında BindingMode olduğu ve hiçbiri üyesi Self çünkü
Korkarım ki bu konuda yanılıyorsunuz. Kodum iyi çalışıyor. Mod, BindingMode türünde değil, RelativeSourceMode türünde değildir. Benim tahminim RelativeSource = {RelativeSource Mode = Self} 'daki kuşakları gözden kaçırmış olmanızdır, bu da Mode'u RelativeSource özelliği ve Bağlama özelliklerinden biri değildir. – PeterE
@Peter: Haklısınız. Bu yatay kaydırma beni rahatsız etti ve 'Mode' özelliğini RelativeSource yapan iç parantezleri gerçekten fark etmedim. Hataya dikkat ettiğiniz için teşekkürler! :-) – Nawaz