添加到HyperLinkBut​​ton时隐藏的项目

时间:2012-01-16 22:15:22

标签: c# windows-phone-7 data-binding hyperlink

当我在HyperlinkBut​​ton中没有它们时,下面的项目会正常显示 但是,当我将它们添加到HyperlinkBut​​ton时,它们变得不可见。

<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>

1 个答案:

答案 0 :(得分:2)

据我所知,Hyperlink button仅支持文字。例如:

<HyperlinkButton Height="100" Width="300">
    Hello World
</HyperlinkButton>

也许您应该使用Button控件并设置Control模板并输入上面提到的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"/>

然后在点击事件中进行导航。