如何设置标签的文本(How can I set the text of a label)

2019-09-02 02:29发布

我已经得到了我想要放在一个固定文档一个用户控件,但在此之前我这样做,我需要更改标签的文本。 我想我需要使用依赖属性。

下面是简化的XAML。

<UserControl x:Class="PrinterTest.TestControl"
             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"
             DataContext="{Binding RelativeSource={RelativeSource Self}}">
    <Grid>
        <Label Content="{Binding LabelCaption}"
               Height="24" HorizontalContentAlignment="Right" Name="lblCaption"     
               Width="140" />
    </Grid>
</UserControl>

和代码隐藏

public partial class TestControl : UserControl
{
    public TestControl()
    {
        InitializeComponent();
    }

    public readonly static DependencyProperty 
        LabelCaptionDP = DependencyProperty.Register("LabelCaption",
                                                     typeof(string), 
                                                     typeof(TestControl),
                                                     new FrameworkPropertyMetadata("no data"));

    public string LabelCaption
    {
        get { return (string)GetValue(LabelCaptionDP); }
        set { SetValue(LabelCaptionDP, value); }
    }

在主叫位I通过实例化TestControl myControl = new TestControl();

我在做什么错了,因为我不能在控制的新副本访问属性? 谢谢!

Answer 1:

更改LabelCaptionDPLabelCaptionProperty

从依赖项属性概述 :

财产和后盾的DependencyProperty字段的命名规则是很重要的。 该字段的名称始终是属性的名称,去掉后缀属性。 有关本公约的原因,它的更多信息,请参见自定义依赖属性。

请阅读有关依赖项属性名称约定 自定义依赖属性 。



文章来源: How can I set the text of a label