Я просто погружаюсь в WPF и нахожу это немного странным и разочаровывающим для моего стиля: почему значение чего-то может быть Ресурсом, но вы не можете установить значение непосредственно на то, что представляет Ресурс? Пример:
Это действительно:
<ToggleButton>
<ToggleButton.Resources>
<Image x:Key="cancelImage" Source="cancel.png" />
</ToggleButton.Resources>
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Content" Value="{DynamicResource cancelImage}" />
</Style>
</ToggleButton.Style>
</ToggleButton>
Но это не так:
<ToggleButton>
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Content">
<Setter.Value>
<Image Source="cancel.png" />
</Setter.Value>
</Setter>
</Style>
</ToggleButton.Style>
</ToggleButton>
В чем разница? Почему не работают оба? Мне не нравится создавать «Ресурс» для некоторых вещей, потому что он делит мой код и может затруднить его чтение.
И да, я знаю, что мой пример можно упростить следующим образом
<ToggleButton>
<Image Source="cancel.png" />
</ToggleButton>
но дело не в этом.