与超链接文本对齐

发布于 2024-12-11 14:28:50 字数 952 浏览 0 评论 0原文

为什么 hyperlink 中的文本与顶部垂直对齐,而不是与 label 位于同一行。 知道为什么吗?

<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="5">
    <Label   TextElement.FontSize="18" 
             FontWeight="Bold"
             HorizontalAlignment="Left"
             VerticalAlignment="Top"
             Name="LDOTextFilelable"
             Content="LDO Text File:"
             BorderThickness="0"/>



    <TextBlock Height="39" TextElement.FontSize="18" FontFamily="Verdana"  VerticalAlignment="Bottom"
               Name="LDOTextFilelink" Padding="5,0,0,0" >
        <Hyperlink Command="{Binding Path= SaveChangesCommand}" >
                    <TextBlock Text="{Binding Path=LdoFilePath}" Height="39"  VerticalAlignment="Bottom"/>
        </Hyperlink>
    </TextBlock>

</StackPanel>

在此处输入图像描述

感谢您的帮助。

Why the text in the hyperlink is vertical aligned to the top and not goes to the same line as the label .
Any idea why ?

<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="5">
    <Label   TextElement.FontSize="18" 
             FontWeight="Bold"
             HorizontalAlignment="Left"
             VerticalAlignment="Top"
             Name="LDOTextFilelable"
             Content="LDO Text File:"
             BorderThickness="0"/>



    <TextBlock Height="39" TextElement.FontSize="18" FontFamily="Verdana"  VerticalAlignment="Bottom"
               Name="LDOTextFilelink" Padding="5,0,0,0" >
        <Hyperlink Command="{Binding Path= SaveChangesCommand}" >
                    <TextBlock Text="{Binding Path=LdoFilePath}" Height="39"  VerticalAlignment="Bottom"/>
        </Hyperlink>
    </TextBlock>

</StackPanel>

enter image description here

Thanks for help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冰葑 2024-12-18 14:28:50

在文本中放置超链接的首选方法如下:

<TextBlock Name="TextBlockWithHyperlink">
    <Run FontWeight="Bold">LDO Text File: </Run>
    <Hyperlink Command="{Binding Path= SaveChangesCommand}">
        <TextBlock FontFamily="Verdana" Text="{Binding Path=LdoFilePath}"/>
    </Hyperlink>
</TextBlock>

这样就不会出现对齐问题。

在 WPF 4.0 中,您可以用简单的 Run 替换内部 TextBlock

The preferred way to place hyperlinks in the text is following:

<TextBlock Name="TextBlockWithHyperlink">
    <Run FontWeight="Bold">LDO Text File: </Run>
    <Hyperlink Command="{Binding Path= SaveChangesCommand}">
        <TextBlock FontFamily="Verdana" Text="{Binding Path=LdoFilePath}"/>
    </Hyperlink>
</TextBlock>

This way you'll have no problems with alignment.

In WPF 4.0 you can replace the inner TextBlock with a simple Run.

烟织青萝梦 2024-12-18 14:28:50

WPF 中标签的默认内边距在每个方向上都是 5。

有了这些知识,我们可以将 5 的填充应用于超链接周围的 TextBlock。

例如:

<StackPanel Orientation="Horizontal">
    <Label FontWeight="Bold" Content="Home Page:"/>
    <TextBlock Padding="5">
        <Hyperlink NavigateUri="{Binding WebsiteUrl}">URL TEXT</Hyperlink>
    </TextBlock>
</StackPanel>

The default padding for a label in WPF is 5 in every direction.

With that knowledge we can apply a padding of 5 to the TextBlock that surrounds the hyperlink.

For example:

<StackPanel Orientation="Horizontal">
    <Label FontWeight="Bold" Content="Home Page:"/>
    <TextBlock Padding="5">
        <Hyperlink NavigateUri="{Binding WebsiteUrl}">URL TEXT</Hyperlink>
    </TextBlock>
</StackPanel>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文