我有以下代码:
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Button>
<Button.Template>
<ControlTemplate>
<DockPanel>
<Image Source="{...}"/>
<ContentPresenter .../>
</DockPanel>
</ControlTemplate>
</Button.Template>
</Button>
</ControlTemplate>
</Setter.Value>
</Setter>
我需要模板内的按钮来实现绑定(bind)。嵌套模板定义外观。
问题: <ListBoxItem Content="Start"/>
不适用于上面的代码。我需要类似 root Contentpresenter 的东西,它引用按钮模板内的 Contentpresenter 。我怎样才能做到这一点?
提前致谢!
最佳答案
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Button>
<Button.Template>
<ControlTemplate>
<DockPanel>
<Image Source="{...}"/>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}, Path=Content}"/>
</DockPanel>
</ControlTemplate>
</Button.Template>
</Button>
</ControlTemplate>
</Setter.Value>
</Setter>
关于wpf - 如何在嵌套的ControlTemplate中配置Contentpresenter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9886095/