C# 添加到HyperLinkButton时隐藏的项目
当Hyperlink按钮中没有以下项目时,它们会正常显示。C# 添加到HyperLinkButton时隐藏的项目,c#,windows-phone-7,data-binding,hyperlink,C#,Windows Phone 7,Data Binding,Hyperlink,当Hyperlink按钮中没有以下项目时,它们会正常显示。 但是,当我将它们添加到HyperlinkButton时,它们将不可见 <DataTemplate> <HyperlinkButton NavigateUri="/ViewChallenge.aspx"> <HyperlinkButton.Content> <StackPanel Orientation="Horizontal" Margin="0,
但是,当我将它们添加到HyperlinkButton时,它们将不可见
<DataTemplate>
<HyperlinkButton NavigateUri="/ViewChallenge.aspx">
<HyperlinkButton.Content>
<StackPanel Orientation="Horizontal" Margin="0,0,0,17">
<Image Height="100" Width="100" Source="{Binding Path=Challenge.Image}" Margin="12,0,9,0"/>
<StackPanel Width="311">
<TextBlock Text="{Binding Path=Challenge.Title}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<HyperlinkButton NavigateUri="ViewUser.aspx" >
<HyperlinkButton.Content>
<TextBlock Text="{Binding Path=User.Username}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</HyperlinkButton.Content>
</HyperlinkButton>
</StackPanel>
</StackPanel>
</HyperlinkButton.Content>
</HyperlinkButton>
</DataTemplate>
据我所知,仅支持文本。例如:
<HyperlinkButton Height="100" Width="300">
Hello World
</HyperlinkButton>
你好,世界
也许你应该使用一个按钮控件,设置一个控件模板,然后在里面输入上面提到的XAML。我认为这更有意义。试试这个:
<ControlTemplate x:Key="MyButtonTemplate" TargetType="Button">
<StackPanel Orientation="Horizontal" Margin="0,0,0,17">
<Image Height="100" Width="100" Source="{Binding Path=Challenge.Image}" Margin="12,0,9,0"/>
<StackPanel Width="311">
<TextBlock Text="{Binding Path=Challenge.Title}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<TextBlock Text="{Binding Path=User.Username}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
</StackPanel>
</ControlTemplate>
然后简单地为按钮设置模板,如下所示:
<Button x:Name="myButton" Template="{StaticResource MyButtonTemplate}" Click="myButton_Click"/>
然后在click事件中进行导航