我有以下XAML代码:
<TextBlock
FontFamily="Segoe UI Light"
TextWrapping="Wrap" Grid.Row="0"
Margin="12" TextAlignment="Center"
SelectionHighlightColor="#FF1D1334"
FontWeight="Light" Foreground="#FF755CB0">
<Span FontSize="40" >Welcome!</Span><LineBreak/><LineBreak/>
<Span FontSize="25"> login</Span>
<LineBreak/>
click here
<InlineUIContainer>
<HyperlinkButton
Foreground="#FF4017A0"
Click="RedirectToRegister">HERE!</HyperlinkButton>
</InlineUIContainer>
</TextBlock>问题是我得到了这个错误:
错误1找不到Windows运行时类型'Windows.UI.Xaml.Controls.RelativeSource‘。
如何将hyperLinkButton放在我的段落中?
我尝试了ReachTextBlock,但我不希望文本被选中。
希望帮助,谢谢
发布于 2015-01-24 20:06:24
我不理解错误信息,但是我能够复制它和其他错误消息(因为我尝试了不同的东西,…,它们是不同的)最持久的错误消息实际上是无法找到ButtonBase类的抱怨)。
我对它们没有一个很好的解释;似乎至少在XAML编译器中有一个关于发出有用的错误消息的错误。我认为您试图编写的代码有问题,但是( a)不能立即看到可能是什么;( b) XAML编译器应该给您一个可操作的错误消息,而不是抱怨它找不到项目引用中明显存在的类型。
尽管如此,您可以在不使用InlineUIContainer类的情况下实现所需的功能(我想您继承了WPF?)。下面的代码应该适用于您:
<TextBlock
FontFamily="Segoe UI Light"
TextWrapping="Wrap" Grid.Row="0"
Margin="12" TextAlignment="Center"
SelectionHighlightColor="#FF1D1334"
FontWeight="Light" Foreground="#FF755CB0">
<Span FontSize="40" >Welcome!</Span><LineBreak/><LineBreak/>
<Span FontSize="25"> login</Span>
<LineBreak/>
click here
<Hyperlink Click="RedirectToRegister" Foreground="#FF4017A0">HERE!</Hyperlink>
</TextBlock>请注意,您还可能希望调整RedirectToRegister()方法的方法签名。例如:
private void RedirectToRegister(
Windows.UI.Xaml.Documents.Hyperlink sender,
Windows.UI.Xaml.Documents.HyperlinkClickEventArgs args)https://stackoverflow.com/questions/28126219
复制相似问题