我创建了一个名为baseStyle风格类似这样的基础:出现InvalidOperationException:只能在与目标类型风格是基本类型“的TextBlock”
<Style TargetType="{x:Type Control}" x:Key="baseStyle">
<Setter Property="FontSize" Value="30" />
<Setter Property="FontFamily" Value="Saumil_guj2" />
</Style>
然后我用它像一个ListBoxItem的:
<Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource baseStyle}">
</Style>
它很高兴地接受baseStyle
的FontSize
和FontFamily
。
我试图做类似的事情的TextBlock:
现在它的抱怨。我的意思是它给了我免除︰
InvalidOperationException: Can only base on a Style with target type
that is base type 'TextBlock'.
所以,我检查了MSDN。
那里我发现ListBoxItem间接从System.Windows.Controls派生。它可以找到here。
那里我还发现TextBlock也从System.Windows.Controls派生。它可以被发现here。
所以,我不明白为什么我得到这个错误?
创建样式'TextBlock'不从'Control'而是直接从'FrameworkElement'派生。 'TextBlock'和'Control'之间没有共同的类,它具有'FontSize'和'FontFamily'。他们都分开实施它 – dkozl 2014-08-30 19:52:36
@dkozl你应该作出回答。 – 2014-08-30 19:55:29