1
給定一個風格在Page.Resource:UWP爲什麼樣式不適用於DataTemplate中的TargetTypes?
<Style x:Name="ItemTitle" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"></Setter>
<Setter Property="FontWeight" Value="Bold"></Setter>
</Style>
它正確地應用到任何正規的TextBlock在同一頁上。
但是,當我在該頁面的GridView中爲某個項目使用DataTemplate時,此樣式不適用。
<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