将Xaml超链接添加到矩形

时间:2013-09-11 15:18:39

标签: xaml hyperlink

我正在尝试添加到xaml矩形的超链接,但它无法正常工作。我尝试用按钮添加超链接,它的工作原理。如何为下面的代码添加一组矩形的超链接。

如何为以下代码提供超链接

<Rectangle Fill="Red" HorizontalAlignment="Left" Height="38" Margin="1038,74,0,0" Stroke="Black" VerticalAlignment="Top" Width="426"/>
            <TextBlock HorizontalAlignment="Left" Margin="1173,82,0,0" TextWrapping="Wrap" Text="Pending Sites " VerticalAlignment="Top" Height="24" Width="142" Foreground="#FFF7F6F1" FontSize="20" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
                <TextBlock.RenderTransform>
                    <CompositeTransform Rotation="-0.098"/>
                </TextBlock.RenderTransform>
            </TextBlock>

代码我尝试使用Button正常工作

<Button Content="Click to go to desc page" Click="Button_Click_1" Margin="62,376,0,357"/>
 private void Button_Click_1(object sender, RoutedEventArgs e)
        {
           this.Frame.Navigate(typeof(dPlanner2x.MyPageDetails));
        }

1 个答案:

答案 0 :(得分:2)

如果您将Rectangle应用于Style,则可以将Button转换为Style,而不是尝试将Button转换为可点击的对象。

下面给出了<Style x:Key="btnCommand" TargetType="{x:Type Button}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Border Name="rct" TextBlock.Foreground="White" Background="DarkGray" BorderBrush="DarkGray" BorderThickness="1" Cursor="Hand" UseLayoutRounding="True" SnapsToDevicePixels="True" Margin="10" Height="24" MinWidth="75"> <ContentPresenter TextBlock.FontStyle="Segoe UI Semibold" TextBlock.FontSize="14"/> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="rct" Property="TextBlock.Foreground" Value="DarkGray" /> <Setter TargetName="rct" Property="Background" Value="LightGray" /> <Setter TargetName="rct" Property="BorderBrush" Value="DarkGray" /> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter TargetName="rct" Property="TextBlock.Foreground" Value="DarkGray" /> <Setter TargetName="rct" Property="Background" Value="White" /> <Setter TargetName="rct" Property="BorderBrush" Value="LightGray" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> 更改Style外观的示例:

{{1}}

显然,您会想要看起来完全不同的内容,但上面的{{1}}模板可以轻松修改以满足您的需求。