1

我正在学习如何编写 Windows 8 应用程序,但我找不到任何问题的答案。

我创建了一个自定义控件,通过单击按钮添加:

onclick() {
    card currentcard = new card();
    ...
    ...
    hand.Children.add(currentCard);
}

在 page.cs

当前的卡控件具有如下所示的 Generic.xaml 信息,其中包含TextBlock

<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命名标签的值?

抱歉,如果这是基本的或以前在某个地方回答过的问题,我进行了搜索,但没有找到答案!

4

1 回答 1

0

因为有TextBlock问题的是称为 Tile 的自定义类型的 a 的一部分,所以ControlTemplate最好的办法是将 a 添加DependencyProperty到您的 Tile 类型并使用将 的属性TemplateBinding绑定到 this new 的值。TextTextBlockDependencyProperty

您不能轻易地ControlTemplate从外部进入 a 来修改该模板的一部分的值。

这个答案提供了一个使用 aDependencyProperty并将其绑定到 a 的示例ControlTemplate,快速搜索可能会产生许多其他示例。

于 2013-02-21T22:29:49.870 回答