如何在代码后面设置绑定文本

时间:2012-07-09 22:49:15

标签: windows-phone-7

我创建了userControl,其中有两个文本块。我可以在xaml页面上设置文本以使用此代码。

    <my:Title Title  TitleCaption="test On XMAL"   />

但是我想在代码上设置文本的值。有人会告诉我如何完成这项任务吗?提前谢谢。

有我的userControl:

<UserControl x:Name="TitleSection"  x:Class="CMSPhoneApp.Title"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
d:DesignHeight="480" d:DesignWidth="480">


<Grid x:Name="LayoutRoot" Style="{StaticResource GridTitleStyle1}" >

    <StackPanel>
    <TextBlock  x:Name="ApplictionTtile" Width="350" Text="MyAppTitle " HorizontalAlignment="Left" FontSize="20">
        <TextBlock.Foreground>
            <SolidColorBrush Color="#FFFFFF"/>
        </TextBlock.Foreground>
    </TextBlock>
        <TextBlock   x:Name="PageTtile"  Style="{StaticResource TitleTextBlockStyle}" 
               Text="{Binding Path=TitleCaption, Mode=TwoWay,  ElementName=TitleSection }"      
                     >


         </TextBlock>
    </StackPanel>
</Grid>

以下是此页面背后的代码:

namespace CMSPhoneApp
{
    public partial class Title : UserControl
    {
    public Title()
    {
        InitializeComponent();
    }

    public static DependencyProperty TitleCaptionProperty =
 DependencyProperty.Register("TitleCaption", typeof(string), typeof(Title), null);

    public string TitleCaption
    {
        get
        {
            return (string)GetValue(TitleCaptionProperty);
        }
        set
        {
            SetValue(TitleCaptionProperty, value);
        }
    }
}

}

2 个答案:

答案 0 :(得分:1)

可以通过更简单的方式完成,您的财产应该是:

public string TitleCaption
    {
        get
        {
            return PageTitle.Text;
        }
        set
        {
            PageTitle.Text=value;
        }
    }

现在,当您创建控件名称时:

<my:Title Name="myTitle"  TitleCaption="test On XMAL"   />

现在您可以通过以下代码从代码更改PageTitle:

myTitle.TitleCaption="your Text Goes Here";

答案 1 :(得分:0)

从代码中您可以执行以下操作:

PageTtile.Text = "This is from code"; // where PageTile is the x:Name of the TextBlock in XAML