【发布时间】:2011-04-25 01:26:15
【问题描述】:
我想启动一个绑定命令,但我不想在我的UserControl 上使用Button。实际上UserControl 本身就是Button。当它在其表面上的任何位置单击时,我想启动一个绑定命令。有没有办法给UserControl 一个命令?
附带说明:一个控件的一个命令和几个特定的开箱即用控件?这一切似乎有点笨拙。我开始认为 MVVM 是不切实际的。我可以使用接口和 OOP 很好地解耦我的 UI。不管怎样,我还是有希望的。
另外,我不愿意破解任何东西或使用昂贵的解决方法。如果我不能做到这一点,我将放弃 MVVM。
【问题讨论】:
-
如果您还不知道,您可以将任何类型的内容放入按钮中,而不仅仅是文本。只需将复杂控件 Content 的 XAML 放在
<Button.Content>中。这为您提供了您需要的任何特殊内容,以及标准按钮的所有行为和样式。如果您想修改按钮本身的外观/感觉,超出属性样式可以实现的范围,请阅读更多关于控制模板的信息,它可以让您根据自己的喜好修改按钮的任何部分。 WPF 的库存控件如此之少的主要原因是控件本身更加灵活。 -
我已经知道了。但是如何让它伸展以填充按钮?我想在按钮内使用网格。按钮不像面板那样工作,我必须给网格一个固定的宽度才能让它有任何尺寸。我想我可能能够将网格的宽度绑定到按钮的宽度。那可能行得通。谢谢,如果这不仅仅是评论,我会将您标记为已回答。 :D
-
我发布了一个将网格正确缩放到按钮大小的示例。
标签: wpf user-controls mvvm command