【问题标题】:How do I add text inside a shape in XAML如何在 XAML 中的形状内添加文本
【发布时间】:2012-03-29 12:25:47
【问题描述】:

我正在使用 C++ 和 XAML 开发 Metro 应用程序。我想创建一个多边形形状并在其中添加文本。

起初我想定义自己的 Controltemplate 并将其应用于 Textblock,但不幸的是它不理解 TargetType = "TextBlock"。

其次,我想继承 Polygon 类,看看我是否可以在那里做任何事情,但该类是密封的。

关于如何实现这一点的任何想法?

【问题讨论】:

    标签: xaml microsoft-metro


    【解决方案1】:

    在 WPF XAML 中,您可以执行以下简单操作:

    <Grid Width="60" Height="100">
        <Ellipse Fill="Yellow"/>
        <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="Hello"/>
    </Grid>
    

    在黄色椭圆的中心获取文本。

    我猜想一些简单的东西可以在 WinRT 上运行。

    【讨论】:

      【解决方案2】:

      您可以在ContentControl 或许多其他控件中使用类似的东西:

      <ContentControl Width="200" Height="100" Content="Something">
          <ContentControl.Template>
              <ControlTemplate>
                  <Grid>
                      <Ellipse Fill="Red"/>
                      <TextBlock Text="{Binding Content,RelativeSource={RelativeSource FindAncestor,AncestorType=ContentControl}}" 
                                  TextWrapping="Wrap"
                                  VerticalAlignment="Center"
                                  HorizontalAlignment="Center"/>
                  </Grid>
              </ControlTemplate>
          </ContentControl.Template>
      </ContentControl>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-05
        • 2017-04-09
        • 2021-09-27
        • 1970-01-01
        • 2022-11-16
        • 2018-10-16
        • 1970-01-01
        • 2020-09-17
        相关资源
        最近更新 更多