По мотивам
предыдущейАвтор: Sinix
Дата: 30.11.10
темы:
Исходники.
| Для подмены достаточно |
| <Window x:Class="Sinix.TemplatedPartSample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:templated="clr-namespace:Sinix.TemplatedPartControl;assembly=Sinix.TemplatedPartControl"
Title="MainWindow"
Height="398"
Width="293">
<StackPanel>
<templated:SomeControl Margin="8" />
<templated:SomeControl Margin="8">
<templated:SomeControl.Resources>
<ControlTemplate x:Key="{x:Static templated:SomeControl.HeaderTemplateKey}"
TargetType="Control">
<Button Content="Changed part"
Style="{DynamicResource {x:Static templated:SomeControl.HeaderStyleKey}}" />
</ControlTemplate>
</templated:SomeControl.Resources>
</templated:SomeControl>
<StackPanel>
<!-- Подменяемый шаблон можно определить где угодно -->
<StackPanel.Resources>
<ControlTemplate x:Key="{x:Static templated:SomeControl.HeaderTemplateKey}"
TargetType="Control">
<CheckBox Content="Changed part - 2" HorizontalAlignment="Left"
Style="{DynamicResource {x:Static templated:SomeControl.HeaderStyleKey}}" />
</ControlTemplate>
</StackPanel.Resources>
<templated:SomeControl Margin="8" />
</StackPanel>
</StackPanel>
</Window>
|
| |
Буду благодарен за любую критику/замечания.
Здравствуйте, Sinix, Вы писали:
S>Буду благодарен за любую критику/замечания.
О! А ведь кажись подобным образом работает ToolBar с его
<i>XXX</i>StyleKey. Правда там стиль не автоматом подхватывается, а в ToolBar.PrepareContainerForItemOverride.