gpt4 book ai didi

c# - ContentControl 不显示内容

转载 作者:行者123 更新时间:2023-11-30 19:44:19 24 4
gpt4 key购买 nike

我有一个自定义 ContentControl,它具有固定的 XAML 布局,如 UserControl(而不是通常应用的通用模板)。

以前这个布局没有额外的标记,所以它的字面意思是:

<ContentControl x:Class="MyControls.CustomViewControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
</ContentControl>

这很好用。

我现在想在内容周围放置一个边框,所以我将 XAML 更改为:

<ContentControl x:Class="MyControls.CustomViewControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<ContentControl.Template>
<ControlTemplate>
<Border BorderThickness="5" BorderBrush="LightGreen">
<ContentPresenter />
</Border>
</ControlTemplate>
</ContentControl.Template>
</ContentControl>

这显示了边框,但没有内容。

我尝试为 ContentPresenter 提供显式绑定(bind):

<ContentPresenter Content="{Binding Path=Content, RelativeSource={RelativeSource Self}}"/>

但这并没有什么不同。

设置显式 Content 确实有效:

<ContentPresenter Content="TEST" />

有人知道为什么内容绑定(bind)不起作用吗?我想我可以回退到通常的通用模板,但如果我可以像 UserControl 一样直接这样做会更容易。

最佳答案

为控件模板添加 TargetType

<ContentControl.Template>
<ControlTemplate TargetType="Button">
<Border BorderThickness="5" BorderBrush="LightGreen">
<ContentPresenter />
</Border>
</ControlTemplate>
</ContentControl.Template>

关于c# - ContentControl 不显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12705907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com