Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 请教我如何正确使用ControlTemplate?_Wpf_Silverlight_Controltemplate - Fatal编程技术网

Wpf 请教我如何正确使用ControlTemplate?

Wpf 请教我如何正确使用ControlTemplate?,wpf,silverlight,controltemplate,Wpf,Silverlight,Controltemplate,好的,我想我在使用ControlTemplate方面很在行,哈哈 我想做的就是模板化我的每个UserControl,这样每个UserControl都有Delete、Save和Cancel按钮 所以现在我正在写一些测试。。。。。。 试着在所有东西周围画一个边界 在App.xaml中 <Application.Resources> <ControlTemplate x:Key="DeleteSaveCancelTemplate"> <Grid V

好的,我想我在使用ControlTemplate方面很在行,哈哈

我想做的就是模板化我的每个UserControl,这样每个UserControl都有Delete、Save和Cancel按钮

所以现在我正在写一些测试。。。。。。 试着在所有东西周围画一个边界

在App.xaml中

<Application.Resources>
    <ControlTemplate x:Key="DeleteSaveCancelTemplate">
        <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
            <Border BorderThickness="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Black"> 
                <ContentPresenter/>
            </Border>
        </Grid>
    </ControlTemplate>
</Application.Resources>

然后在UserControl中:

<UserControl ...  Height="150" Width="300"  Template="{StaticResource DeleteSaveCancelTemplate}" >


但我看到的只是…黑色。。。我做错了什么?我想我应该使用ContentPresenter来显示内容?

对于大多数控件,您都使用ContentPresenter。ItemsPresenter仅适用于扩展ItemsControl的元素。

。。。我发现这个问题,哈哈 默认情况下,ControlPresenter不绑定到内容。。。 我需要写信

   <ContentPresenter Content="{TemplateBinding Property=ContentControl.Content}" />


除非您指定了TargetType,否则默认情况下将绑定它。

我刚刚意识到这一点,并尝试使用ContentPresenter,但它不起作用。。