2017-04-01 26 views
1

如何更改txtPIN.Text UserControl初始化后的C#代码后面的值。UWP [Xaml]如何访问Button内部的元素

这里是XAML

<Button x:Name="btn_pin" Content="Change PIN" Click="button_Click" Foreground="White"> 
      <Button.Template> 
       <ControlTemplate TargetType="Button"> 
        <StackPanel Orientation="Horizontal" VerticalAlignment="Center"> 
         <Image Source="/Assets/images/settings/lock.png" Stretch="UniformToFill" Width="16" Height="16"/> 
         <TextBlock x:Name="txtPin" Text="Change PIN" Foreground="White" /> 
        </StackPanel> 
       </ControlTemplate> 
      </Button.Template> 
     </Button> 

和C#

public MyUserControl() 
    { 
     this.InitializeComponent(); 
     this.btn_pin.?????????? 
    } 

回答

0

你不这样做是正确的做法,只是解决您的XAML(我改变了文本的TextBlock的结合):

<Button x:Name="btn_pin" Content="Change PIN" Click="button_Click" Foreground="White"> 
      <Button.Template> 
       <ControlTemplate TargetType="Button"> 
        <StackPanel Orientation="Horizontal" VerticalAlignment="Center"> 
         <Image Source="/Assets/images/settings/lock.png" Stretch="UniformToFill" Width="16" Height="16"/> 
         <TextBlock x:Name="txtPin" Text="{TemplateBinding Content}" Foreground="White" /> 
        </StackPanel> 
       </ControlTemplate> 
      </Button.Template> 
     </Button> 

并且每当您想要更改文字时,都要像这样更改按钮的内容:

public MainPage() 
    { 
     this.InitializeComponent(); 
     btn_pin.Content = "New label"; 
    } 
+0

太棒了!它完全按照我们的需要工作。谢谢 ! –

相关问题