1

我有这样的用户控制(例如):

<UserControl
x:Class="Tester.UC"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Tester"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400">

<Grid>
    <TextBlock Name="Name" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Height="79" Width="380" FontSize="50" TextAlignment="Center"/>
    <Button Content="Button" HorizontalAlignment="Left" Margin="152,179,0,0" VerticalAlignment="Top"/>
    <TextBox Name="LastName" HorizontalAlignment="Left" Margin="0,109,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="390" Height="65" TextAlignment="Center" FontSize="40"/>

</Grid>

要访问此控件,我必须使用名称,然后使用属性。像这样的东西。

UC uc = new UC();
uc.LastName.Text = "text";

有什么方法可以更快地访问它吗?我是说...

uc.LastName = "文本"

4

2 回答 2

1

您可以在代码隐藏中声明一个属性以 wrap LastName.Text。例如

public string LastNameText
{
    get { return LastName.Text; }
    set { LastName.Text = value; }
}

<TextBox Name="LastName" x:FieldModifier="private"/>

值得吗?我严重怀疑。

于 2013-08-09T22:36:53.593 回答
0

并不真地。LastName 是 TextBox 类型的对象,“Text”是字符串。您不能将字符串分配给文本框。TextBox.Text 也是字符串类型,这就是您可以将“文本”分配给它的原因。强类型对象是 C# 的一个非常标准的原则。

从理论上讲,您可以重载“=”运算符,但不建议这样做,因为这会使您的代码难以被其他人理解。

于 2013-08-09T22:32:06.210 回答