【问题标题】:XAML - Text is not showing in my textbox after I styled itXAML - 设置样式后文本未显示在我的文本框中
【发布时间】:2012-06-05 18:11:56
【问题描述】:

所以,我在我正在开发的应用程序中设置了我的文本框的样式,但突然之间我看不到任何绑定到我的文本框的文本。我觉得我缺少某种 ContentPresenter。无论如何,这是样式。

<Style TargetType="{x:Type TextBox}">
    <Setter Property="Height" Value="26"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="TextBox">
                <Border BorderThickness="{TemplateBinding BorderThickness}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        Background="{TemplateBinding Background}">
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled" Value="False">
                        <Setter Value="#FF2F2F2F" Property="Background"/>
                        <Setter Value="White" Property="Foreground"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

这是我的文本框的设置方式

<TextBox Grid.Row="2" Grid.Column="5" BorderThickness="1" Text="{Binding VariableName}">

有什么想法吗?

【问题讨论】:

    标签: wpf xaml text styles


    【解决方案1】:

    你的预感是对的,你需要有一个名为PART_ContentHost inside your ControlTemplate的模板部分:

    <ControlTemplate TargetType="TextBox">
        <Border BorderThickness="{TemplateBinding BorderThickness}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        Background="{TemplateBinding Background}">
            <ScrollViewer Margin="0"
                        x:Name="PART_ContentHost" />
        <!-- ... -->
    

    这是因为TextBoxControlTemplate 需要名称为PART_ContentHost 的部件。您可以查看ControlTemplate examples for the built-in controls,了解需要哪些命名模板部件以及每个部件必须能够做什么才能保留正常功能。

    【讨论】:

    • @Stylzs05:我将您的请求读作Button,因为...我不知道为什么。尝试添加名称为 PART_ContentHost 的控件。
    • 啊,做到了。感谢上帝给我的链接。我不知道该列表存在。
    • WPF备考书中实际上已经涵盖了它!
    猜你喜欢
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多