【问题标题】:Items hidden when added to HyperLinkButton添加到 HyperLinkBut​​ton 时隐藏的项目
【发布时间】:2012-01-16 22:15:21
【问题描述】:

当我在 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>

【问题讨论】:

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


    【解决方案1】:

    据我所知,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"/>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多