如何访问按钮XAML C#UWP中的命名文本块
我将我的UWP应用程序更改为具有响应性UI。 从那以后,我在按钮中输入文本时遇到了一个问题。 以下是XAML:如何访问按钮XAML C#UWP中的命名文本块,c#,xaml,uwp,datatemplate,textblock,C#,Xaml,Uwp,Datatemplate,Textblock,我将我的UWP应用程序更改为具有响应性UI。 从那以后,我在按钮中输入文本时遇到了一个问题。 以下是XAML: <Page x:Class="Stock_Manager_Windows.IncomeOrder3" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft
<Page
x:Class="Stock_Manager_Windows.IncomeOrder3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Stock_Manager_Windows"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="#FFBBBBBB">
<Grid.RowDefinitions>
...
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
...
</Grid.ColumnDefinitions>
...
<Button x:Name="Envoyer" Content="Envoyer" HorizontalAlignment="Stretch" Margin="2,2,0,2" VerticalAlignment="Stretch" Grid.Column="4" Grid.ColumnSpan="2" Grid.Row="4" Background="#249C23" Foreground="White" FontWeight="Bold" Click="buttonSendSelectedItems_Click">
<Button.ContentTemplate>
<DataTemplate x:Name="EnvoyerDataTemplate" >
<Viewbox>
<TextBlock x:Name="EnvoyerTxt" Text="Envoyer"/>
</Viewbox>
</DataTemplate>
</Button.ContentTemplate>
</Button>
...
</Grid>
</Page>
现在不可能了。。。
然后开始我试着:
envoyerTxt.Text = "Envoyer (" + count + ")";
我试图使用以下链接解释的解决方案,但代码似乎已经过时,不相关,或者我太愚蠢而无法理解
有人能给我解释一下解决办法吗?
可能问题不在c#代码中,而在XAML中,我没有任何线索。在
ContentTemplate
中,将TextBlock
更改为此
<TextBlock x:Name="EnvoyerTxt" Text="{Binding}" />
这意味着现在,无论设置了什么内容(文本),它都将绑定到模板TextBlock
Text属性,并将相应地更改
为了清楚起见,您不能通过模板中的元素名称来访问该元素。因为模板是在运行时加载的,而不是在编译时加载的。这就是为什么只有内部模板绑定才能用于分配数据。在
ContentTemplate
中,将TextBlock
更改为此
<TextBlock x:Name="EnvoyerTxt" Text="{Binding}" />
这意味着现在,无论设置了什么内容(文本),它都将绑定到模板TextBlock
Text属性,并将相应地更改
为了清楚起见,您不能通过模板中的元素名称来访问该元素。因为模板是在运行时加载的,而不是在编译时加载的。这就是为什么只有内部模板绑定才能用于分配数据。好的,非常感谢@Rao Hammas!好的,非常感谢@Rao Hammas!