首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ContentPresenter问题

ContentPresenter问题
EN

Stack Overflow用户
提问于 2012-11-05 23:04:41
回答 1查看 159关注 0票数 0

我有一个ContentControl,上面有一个网格。Column 1将是一个TreeView,Column 2是一个拆分器,我已经将column 3设置为ContentPresenter。定义如下:

代码语言:javascript
复制
<ContentPresenter Grid.Column="2" Name="PlaceHolder" />

如果我随后将我的ContentControl添加到一个页面中,并将一个项目添加到该ContentControl中,它不仅出现在第2列中,而是覆盖了整个ContentControl的宽度。下面是我向ContentPresenter添加内容的方法:

代码语言:javascript
复制
<MyNamespace:MyControlName>
    <Button>Hello world!</Button>
</MyNamespace:MyControlName>

如何让按钮只出现在第2列,而让第0列的TreeView正常显示?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-05 23:19:33

ContentControl中的ContentControl.Content属性设置为Grid,然后在使用控件时覆盖ContentControl.Content以将其设置为Button

您需要将Grid设置为ContentControl.ContentTemplate而不是实际的Content,并修改ContentPresenter以显示Content属性

代码语言:javascript
复制
<ContentControl ...>
    <ContentControl.Template>
        <ControlTemplate TargetType="{x:Type ContentControl}">
            <Grid>
                ...
                <ContentPresenter Grid.Column="2" Name="PlaceHolder" 
                                  Content="{TemplateBinding Content}" />
                ...
            </Grid>
        </ControlTemplate>
    </ContentControl.Template>
</ContentControl>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13234771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档