试图使 UserControl 可以承载其他控件。以下是相关代码。
<UserControl … … … … >
<Grid DataContext="{Binding RelativeSource={RelativeSource
Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
… … …
<ContentPresenter Content="{Binding SomeContent}"/>
… … …
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
并使用此 UserControl 如下 -
<myCtrl:ContainerUserControl FontSize="18pt">
<myCtrl:ContainerUserControl.SomeContent>
<Grid>
<TextBox Text="Hello World"/>
</Grid>
</myCtrl:ContainerUserControl.SomeContent>
</myCtrl:ContainerUserControl >
Run Code Online (Sandbox Code Playgroud)
问题是 FontSize 没有继承到 TextBox。我可以将 FontSize 设置为 TextBox 但这不是一个优雅的解决方案。我试过使用 ContentControl 但没有改变。也尝试使用
<ContentPresenter TextElement.FontSize="{Binding FontSize}" Content="{Binding SomeContent}"/>
Run Code Online (Sandbox Code Playgroud)
也不行。FontSize 并不是我唯一担心的事情。我可能还需要其他属性来继承。
可以做些什么来解决这个问题?
| 归档时间: |
|
| 查看次数: |
902 次 |
| 最近记录: |