将ControlTemplate应用于文本框会导致.Text变为空白(Silverlight)

将ControlTemplate应用于文本框会导致.Text变为空白(Silverlight),silverlight,Silverlight,我在一个XAML页面上有一堆文本框,我想要相同的大小。我创建了一个控件模板,并将其放入页面的Grid.Resources部分 <Grid.Resources> <ControlTemplate x:Key="basicTextbox" TargetType="TextBox" > <TextBox MinWidth="200" /> </ControlTemplate> </Grid.Resources>

我在一个XAML页面上有一堆文本框,我想要相同的大小。我创建了一个控件模板,并将其放入页面的Grid.Resources部分

<Grid.Resources>
    <ControlTemplate x:Key="basicTextbox" TargetType="TextBox" >
        <TextBox MinWidth="200" />
    </ControlTemplate>
</Grid.Resources>
我将其应用于文本框,如下所示:

<TextBox x:Name="txtNewSec1" Template="{StaticResource basicTextbox}"/>

我有一个用户可以按下的按钮,在后面的代码中,我获取用户输入的文本并将其应用于对象。每次当文本在文本框中时,文本返回为空白时,我都感到惊讶。从文本框中删除模板并再次单击按钮后,该文本在按钮的单击事件处理程序中神奇地可用。我是否必须在ControlTemplate中设置一些内容,以允许文本框在代码隐藏事件期间包含文本?或者这是Silverlight中的某种bug?

在文本框的模板中有一个文本框似乎很奇怪

这不是在第一个文本框中创建第二个文本框吗


当我模拟您的示例并将文本值分配给模板文本框时,它会立即显示,而后面的实例中的任何文本值都不会显示任何内容。

在文本框的模板中有一个文本框似乎很奇怪

这不是在第一个文本框中创建第二个文本框吗


当我模拟您的示例并将文本值指定给模板文本框时,它会立即显示,而后面的实例中的任何文本值都不会显示任何内容。

更改为样式,并且似乎可以工作:

<Style x:Key="basicTextbox" TargetType="TextBox" >
    <Setter Property="MinWidth" Value="200" />
</Style>
在文本框上,将“模板”更改为“样式”

<TextBox x:Name="txtNewSec1" Style="{StaticResource basicTextbox}" />

改成一种风格,似乎很管用:

<Style x:Key="basicTextbox" TargetType="TextBox" >
    <Setter Property="MinWidth" Value="200" />
</Style>
在文本框上,将“模板”更改为“样式”

<TextBox x:Name="txtNewSec1" Style="{StaticResource basicTextbox}" />

您不应该使用控件模板来实现您想要做的事情。你需要的是。。。造型多田

<Grid.Resources>
  <Style x:Key="basicTextBox" TargetType="TextBox">
    <Setter Property="MinWidth" Value="200"/>
  </Style>
</Grid.Resources>
以及:


您不应该使用控件模板来实现您想要做的事情。你需要的是。。。造型多田

<Grid.Resources>
  <Style x:Key="basicTextBox" TargetType="TextBox">
    <Setter Property="MinWidth" Value="200"/>
  </Style>
</Grid.Resources>
以及:


这是我的下一个建议。那会做你想做的+1.自己解决这个问题:这是我的下一个建议。那会做你想做的+1.自己解决:正确,只晚了60秒。乔希想出了一个:+1的正确答案。是的,我在发送答案时看到了它。。。太晚了;但总比没有好两次。谢谢你,只晚了60秒。乔希想出了一个:+1的正确答案。是的,我在发送答案时看到了它。。。太晚了;但总比没有好两次。谢谢