我创建了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);
}
}
}
}
答案 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