0
某些樣式在此處無法按預期工作。這是在演示的風格,它使背景橙色,證明它已經應用於控制:對於DataTemplate中的派生控件忽略顯式樣式
<Style x:Key="OrangeTestStyle" TargetType="TextBox">
<Setter Property="Background" Value="Orange"/>
</Style>
我可以這樣使用它只是正常的文本框,並從文本框派生我自己的類:
<TextBox Style="{StaticResource OrangeTestStyle}"/><!-- orange -->
<ui:UnitTextBox Style="{StaticResource OrangeTestStyle}"/><!-- orange -->
兩者都有橙色背景。但是它不適用於派生控件,如果它在DataTemplate中。實際上,根本沒有明確設置的樣式應用於任何派生控件。標準框架控件工作得很好:
<DataTemplate>
<StackPanel>
<TextBox Style="{StaticResource OrangeTestStyle}"/><!-- orange -->
<ui:UnitTextBox Style="{StaticResource OrangeTestStyle}"/><!-- white -->
</StackPanel>
</DataTemplate>
我的派生控件沒有覆蓋任何與Style有關的東西。它只是添加一個新的依賴項屬性,並在其他視覺元素中顯示其內容,這是一種裝飾。但它仍然直接來自TextBox。樣式也可以在派生控件中工作,但如果在模板中則不會。樣式也適用於模板,但不適用於派生控件。 (我的應用程序中有其他衍生控件。)
這裏有什麼問題?
.NET 4.0,Visual Studio 2010中,Windows 7的
對不起編輯我的關閉,沒有閱讀最後的第一部分。什麼是「單位文本框」的樣子? –
以下是該文件:https://gist.github.com/dg9ngf/1a5285edef5680af3191 – ygoe