我在内容控件中遇到数据模板问题。我以前用数据模板选择器克服了这种情况,但我觉得我一定遗漏了一些东西。
考虑这个 Xaml:
<Grid>
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
</Grid.Resources>
<ContentControl MaxWidth="50" Content="This is a string and it should be wrapped."/>
</Grid>
我的样式未应用于生成的文本块。我怀疑这是因为生成的文本块不是逻辑树的一部分。一个数据模板选择器解决了这个问题,这很好,但我觉得这不是最好的解决方案。
关于解决这个问题的最简洁灵活的方法有什么建议吗?我正在使用 .net 4.0
编辑: DataType={x:Type String} 的数据模板也解决了这个问题,但它也感觉像一个黑客。