C# 添加到HyperLinkButton时隐藏的项目

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,

当Hyperlink按钮中没有以下项目时,它们会正常显示。
但是,当我将它们添加到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事件中进行导航