Den*_*nny 11 xaml imagebutton uwp uwp-xaml
如何在按钮中显示图像/图标和文字?
<StackPanel Name="stackPanel" Orientation="Horizontal" Tapped="stackPanel_Tapped">
<Button x:Name="button" FontFamily="Segoe MDL2 Assets" Content="" Width="50" Height="50" Background="Transparent" />
<TextBlock Text="Grades" FontSize="18" VerticalAlignment="Center" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
我可以在stackpanel中添加一个taplistener,但这不会使stackpanel像真正的按钮一样具有视觉效果.
我也尝试过:
<Button FontFamily="Segoe MDL2 Assets" Width="50" Height="50" x:Name="button" Content="test">
<Image x:Name="button" Source="Assets/test.png" />
</Button>
Run Code Online (Sandbox Code Playgroud)
但我不能两次设置内容.我想要一个按钮中的文本和图标,所以当用户点击它时,它将具有像按钮一样的视觉效果.这可能吗?或者其他人有其他方法来实现这一目标吗?
谢谢阅读.
Chr*_* W. 16
所以,因为我找不到直接复制品(我可以发誓这是之前被问过的问题类型)我想我会提供一个合理的答案.
按钮模板的核心是ContentPresenter允许您传入任何CLR对象的模板.但需要注意的是,只有一个可以通过.但是,如果该对象是一个能够包含子节点的面板,那么它将作为内容传递所有内容.
所以在这种情况下,如果我们这样做:
<Button>
<Image/>
<TextBlock/>
</Button>
Run Code Online (Sandbox Code Playgroud)
然后它会失败并抱怨一次只允许一个对象.
除非您提供父母小组来容纳这些孩子,否则它将所有孩子视为内容,并将提供所需的结果作为示例:
<Button>
<StackPanel>
<Image/>
<TextBlock/>
</StackPanel>
</Button>
Run Code Online (Sandbox Code Playgroud)
因此,既然StackPanel是一个可以容纳孩子的CLR对象,那么你很高兴.希望这会有所帮助,欢呼!
| 归档时间: |
|
| 查看次数: |
11494 次 |
| 最近记录: |