Учитывая стиль в Page.Resource:UWP Почему стиль не применяется к TargetTypes в DataTemplate?
<Style x:Name="ItemTitle" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"></Setter>
<Setter Property="FontWeight" Value="Bold"></Setter>
</Style>
Он правильно применен к любой регулярной TextBlock на той же странице.
Однако, когда я использую DataTemplate для элемента в GridView на этой странице, этот стиль не применяется.
<DataTemplate x:Key="Output" x:DataType="vm:Output">
<TextBlock Text="{x:Bind Text}"></TextBlock>
</DataTemplate>
Это делает работу, когда я применить стиль явно на DataTemplate, например .:
<DataTemplate x:Key="Output" x:DataType="vm:Output">
<TextBlock Style="{StaticResource ItemTitle}" Text="{x:Bind Text}"></TextBlock>
</DataTemplate>
Кто-нибудь знает, что случилось?
я стараюсь, чтобы обернуть содержимое шаблона в, но это не помогло (не уверен, если это было бы, на самом деле). Однако это позор, поскольку это означает много дополнительных явных назначений стиля, которые в противном случае не были бы необходимы. –
Arwin
В настоящее время у меня есть 8 (довольно похожих) DataTemplates с StackPanel, TextBlock и настраиваемый элемент управления (сейчас ...), и я искал способ избежать указания стиля на всех этих элементах управления. Мне понравился этот метод в WPF для автоматического выбора разных типов данных для разных типов данных в одной коллекции (например, результаты поиска, которые наследуются от одного и того же базового класса), а в последнее время даже злоупотребляют им, заменяя элементы классом EditViewModel .... Конечно, отметьте свой ответ, когда я думаю, что он правильный! ;) – Arwin
На данный момент я решил пойти с другим решением, создав UserControls для всех частей, которые повторно используются. В любом случае это имеет смысл. – Arwin