Sergey'in önerisini takip ederek, bir Kalınlık nesnesi yerine tüm bir Stili (Kenar Boşluğu dahil çeşitli özellik ayarlayıcılarıyla) tanımlayabilir ve yeniden kullanabilirsiniz:
<Style x:Key="MyStyle" TargetType="SomeItemType">
<Setter Property="Margin" Value="0,5,0,5" />
...
</Style>
...
<StackPanel>
<StackPanel.Resources>
<Style TargetType="SomeItemType" BasedOn="{StaticResource MyStyle}" />
</StackPanel.Resources>
...
</StackPanel>
Buradaki hilenin, bazı dış (muhtemelen harici XAML dosyasından birleştirilen) kaynak sözlüğündeki stilden devralınan örtük stil için Stil Devralmanın kullanımı olduğunu unutmayın.
Kenar notu:
İlk olarak, bu dış Style kaynağına denetimin Style özelliğini ayarlamak için örtük stili kullanmaya çalıştım ("MyStyle" anahtarıyla tanımlanmış diyelim):
<StackPanel>
<StackPanel.Resources>
<Style TargetType="SomeItemType">
<Setter Property="Style" Value={StaticResource MyStyle}" />
</Style>
</StackPanel.Resources>
</StackPanel>
Visual Studio 2010'un https://connect.microsoft.com/VisualStudio/feedback/details/753211/xaml-editor-window-fails adresinde açıklandığı gibi CATASTROPHIC FAILURE hatasıyla (HRESULT: 0x8000FFFF (E_UNEXPECTED)) hemen kapanmasına neden oldu. -with-felaket-başarısızlık-a-style-çalışır-to-seti-style-mülk #