Theo gợi ý của Sergey, bạn có thể xác định và sử dụng lại toàn bộ Kiểu (với nhiều setters thuộc tính khác nhau, bao gồm cả Ký quỹ) thay vì chỉ một đối tượng Độ dày:
<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>
Lưu ý rằng mẹo ở đây là sử dụng Kiểu kế thừa kiểu cho kiểu ẩn, kế thừa từ kiểu trong một số từ điển tài nguyên bên ngoài (có thể được hợp nhất từ tệp XAML bên ngoài).
Sidenote:
Lúc đầu, tôi ngây thơ cố gắng sử dụng kiểu ẩn để đặt thuộc tính Kiểu của điều khiển thành tài nguyên Kiểu bên ngoài đó (giả sử được xác định bằng khóa "MyStyle"):
<StackPanel>
<StackPanel.Resources>
<Style TargetType="SomeItemType">
<Setter Property="Style" Value={StaticResource MyStyle}" />
</Style>
</StackPanel.Resources>
</StackPanel>
Điều này khiến Visual Studio 2010 ngừng hoạt động ngay lập tức với lỗi CATASTROPHIC FAILURE (HRESULT: 0x8000FFFF (E_UNEXPECTED)), như được mô tả tại https://connect.microsoft.com/VisualStudio/feedback/details/753211/xaml-ed- -with-catastrophic-fail-when-a-style-try-to-set-style-property #