>我正在绑定这个:
{[ "http://www.google.com", "http://www.sausage.com" ]}
类型为:Newtonsoft.Json.Linq.JArray
<HyperlinkButton
Style="{StaticResource Blah}"
Content="{Binding}"
NavigateUri="{Binding}"
TargetName="_blank"></HyperlinkButton>
如果我用字符串替换内容,它会显示正常。 所以这表明这不是样式问题?
上下文:
<u:ContactTemplate Content="{Binding TheContact.url}" HorizontalAlignment="Left" HorizontalContentAlignment="Left">
<u:ContactTemplate.PropertyListString>
<DataTemplate>
<ListBox x:Name="ContactTitle"
Background="Transparent"
ItemsSource="{Binding}"
VerticalContentAlignment="Top"
BorderThickness="5"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<HyperlinkButton
Style="{StaticResource SausageContactWebsiteLink}"
Content="{Binding}"
NavigateUri="{Binding}"
TargetName="_blank"></HyperlinkButton>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
</u:ContactTemplate.PropertyListString>
</u:ContactTemplate>
如果我用普通的文本块替换超链接按钮:
<TextBlock
Style="{StaticResource SausageContactTextBlockStyle}"
Text="{Binding}"></TextBlock>
它工作正常!
我的超链接按钮有什么问题?
笔记:
- 如果我将"http://www.google.com"直接放入内容和 NavigateURI 属性中,它也可以工作,所以这不是 url 的一些奇怪问题。
抱歉,我无法发表评论。
如果你试过,它有效吗?
<TextBlock
x:Name="tb"
Visibility="Collapsed"
Text="{Binding}"></TextBlock>
<HyperlinkButton
Content="{Binding ElementName=tb,Path=Text}"
NavigateUri="{Binding ElementName=tb,Path=Text}"
TargetName="_blank"></HyperlinkButton>