none
Run的TextEffect Bug RRS feed

  • 问题

  • <FlowDocument x:Name="flowDocument" >
      <Paragraph>
        <Run Text="O">
          <Run.TextEffects>
            <TextEffect PositionCount="3">
              <TextEffect.Transform>
                <RotateTransform Angle="-90" />
              </TextEffect.Transform>
            </TextEffect>
            <TextEffect PositionCount="3">
              <TextEffect.Transform>
                <TranslateTransform X="-18"/>
              </TextEffect.Transform>
            </TextEffect>
          </Run.TextEffects>
        </Run>
        <Run Text="K">
          <Run.TextEffects>
            <TextEffect PositionCount="3">
              <TextEffect.Transform>
                <RotateTransform Angle="-90" />
              </TextEffect.Transform>
            </TextEffect>
            <TextEffect PositionCount="3">
              <TextEffect.Transform>
                <TranslateTransform X="-18"/>
              </TextEffect.Transform>
            </TextEffect>
          </Run.TextEffects>
        </Run>
      </Paragraph>
    </FlowDocument>
    "O"工作正常,"K"不工作。
    2010年5月4日 4:34

答案

  • Hi GoldenfishKing,

    我在测试以上代码时也遇到了同样的问题。我认为这个与Run的一些特性有关,导致本来对TextBlock 适用的一些功能无法使用与Run,毕竟Run不是TextBlock。 下面的方法可以解决这个问题:
    Xaml:

          <FlowDocument x:Name="flowDocument" >
            <Paragraph>
              <InlineUIContainer>
                <TextBlock Text="H">
                <TextBlock.TextEffects>
                  <TextEffect PositionCount="1">
                    <TextEffect.Transform>
                      <RotateTransform Angle="-90" />
                    </TextEffect.Transform>
                  </TextEffect>
                  <TextEffect PositionCount="1">
                    <TextEffect.Transform>
                      <TranslateTransform X="-16" Y="-3"/>
                    </TextEffect.Transform>
                  </TextEffect>
                </TextBlock.TextEffects>
                </TextBlock>
              </InlineUIContainer>
              <InlineUIContainer>
                  <TextBlock Text="K">
                <TextBlock.TextEffects>
                  <TextEffect PositionCount="1">
                    <TextEffect.Transform>
                      <RotateTransform Angle="-90" />
                    </TextEffect.Transform>
                  </TextEffect>
                  <TextEffect PositionCount="1">
                    <TextEffect.Transform>
                      <TranslateTransform X="-16" Y="-3"/>
                    </TextEffect.Transform>
                  </TextEffect>
                </TextBlock.TextEffects>
                  </TextBlock>
              </InlineUIContainer>
            </Paragraph>
          </FlowDocument>

     

    如果我的回复未能帮到您,请及时回复。
    Aland Li


    Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.
    2010年5月11日 13:07
    版主

全部回复

  • 暂时没有看出什么猫腻来.

    可以自己定义个Effect调试一下,看那里出的问题.

    2010年5月11日 7:56
  • Hi GoldenfishKing,

    我在测试以上代码时也遇到了同样的问题。我认为这个与Run的一些特性有关,导致本来对TextBlock 适用的一些功能无法使用与Run,毕竟Run不是TextBlock。 下面的方法可以解决这个问题:
    Xaml:

          <FlowDocument x:Name="flowDocument" >
            <Paragraph>
              <InlineUIContainer>
                <TextBlock Text="H">
                <TextBlock.TextEffects>
                  <TextEffect PositionCount="1">
                    <TextEffect.Transform>
                      <RotateTransform Angle="-90" />
                    </TextEffect.Transform>
                  </TextEffect>
                  <TextEffect PositionCount="1">
                    <TextEffect.Transform>
                      <TranslateTransform X="-16" Y="-3"/>
                    </TextEffect.Transform>
                  </TextEffect>
                </TextBlock.TextEffects>
                </TextBlock>
              </InlineUIContainer>
              <InlineUIContainer>
                  <TextBlock Text="K">
                <TextBlock.TextEffects>
                  <TextEffect PositionCount="1">
                    <TextEffect.Transform>
                      <RotateTransform Angle="-90" />
                    </TextEffect.Transform>
                  </TextEffect>
                  <TextEffect PositionCount="1">
                    <TextEffect.Transform>
                      <TranslateTransform X="-16" Y="-3"/>
                    </TextEffect.Transform>
                  </TextEffect>
                </TextBlock.TextEffects>
                  </TextBlock>
              </InlineUIContainer>
            </Paragraph>
          </FlowDocument>

     

    如果我的回复未能帮到您,请及时回复。
    Aland Li


    Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.
    2010年5月11日 13:07
    版主