通过代码更改自定义控件文本块的值
我正在学习如何编写Windows 8应用程序,但找不到任何我的问题的答案。通过代码更改自定义控件文本块的值
我创造,我感到点击一个按钮与添加自定义控制:
onclick() {
card currentcard = new card();
...
...
hand.Children.add(currentCard);
}
在page.cs
目前卡控制已经看起来像这样含有TextBlock
Generic.xaml信息
<Style TargetType="local:tile">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:tile">
<Border
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<TextBlock x:Name="Label"/> // <----------------------- this textblock
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我能做些什么,以page.cs或许card.cs得到TextBlock
命名标签的/设定值?
对不起,如果这是基本的或在某个地方回答之前,我做了搜索,但我没有找到我的答案!
因为有问题的TextBlock
是叫瓷砖的自定义类型ControlTemplate
的一部分,这是你最好的选择将是一个DependencyProperty
添加到您的瓷砖类型和使用TemplateBinding
到TextBlock
的Text
属性绑定到这个新的价值DependencyProperty
。
您无法轻易地从外部触及ControlTemplate
以修改该模板的一部分值。
This answer提供了使用DependencyProperty
并将其绑定到ControlTemplate
的一个示例,并且快速搜索可能会产生许多其他示例。
哦,谢谢我会考虑这一点。对不起,如果我知道DependencyProperty我会查找它。谢谢你为我拉! – user2097125 2013-02-21 22:43:24
很高兴帮助。 [Here](http://msdn.microsoft.com/en-us/library/ms752914.aspx)是关于DependencyProperties的MSDN文章。如果您觉得这回答您的问题,请将其标记为答案。 – 2013-02-21 23:04:23
如果要在代码中设置文本块的值,则需要使用wpf数据绑定。有点像这个问题http://*.com/q/4344584/299327 – 2013-02-21 21:33:21
谢谢瑞安我会研究一下。 – user2097125 2013-02-21 21:45:03