如何在 C# 代码后面的 Button 中添加 StackPanel
如何使用后面的 C# 代码在按钮中添加 StackPanel (即将以下 XAML 转换为 C# )?没有 Button.Children.Add
...
<Button>
<StackPanel Orientation="Horizontal" Margin="10">
<Image Source="foo.png"/>
</StackPanel>
</Button>
How to add a StackPanel in a Button using c# code behind (i.e. convert the following XAML to C# )? There is no Button.Children.Add
...
<Button>
<StackPanel Orientation="Horizontal" Margin="10">
<Image Source="foo.png"/>
</StackPanel>
</Button>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
设置
Button.Content
而不是使用Button.Children.Add
作为更长的解释:
Content.
Children
列表 - 例如 StackPanel、Grid、WrapPanel、Canvas 等。正如您的代码所示,您可以设置
Content
按钮成为面板 - 这将允许您添加多个子控件。但是,实际上在您的示例中,不需要 StackPanel 和 Image。看起来您的 StackPanel 只添加了 Padding - 如果您愿意,您可以将 Padding 添加到 Image 而不是 StackPanel 中。Set
Button.Content
instead of usingButton.Children.Add
As a longer explanation:
Content
.Children
- e.g. StackPanel, Grid, WrapPanel, Canvas, etc.As your code already shows, you can set the
Content
of a Button to be a Panel - this would ehn allow you to then add multiple child controls. However, really in your example, then there is no need to have the StackPanel as well as the Image. It seems like your StackPanel is only adding Padding - and you could add the Padding to the Image rather than to the StackPanel if you wanted to.使用
像这样在代码隐藏中
Use like this
and in Codebehind
在 Xaml 中:
在 C# 中:
我建议您将图像放在 xaml 资源中:
并像这样调用它:
In Xaml :
In C# :
I advise you to put the image in xaml resources :
And call it like this :