0
在常规的WPF中,您可以在另一个按钮内部有一个按钮,并且为了防止在单击内部按钮时引发两个按钮事件,可以使用以下XAML(根据this question ):按钮内部按钮(WPF + Caliburn.Micro)
<Button Click="OuterClick">
<Grid>
<SomeOtherContent />
<Button Click="InnerClick" />
</Grid>
</Button>
然后在后台代码使用Handled属性上的事件,使得内按钮被点击时OuterClick没有提出:
private void OuterClick(object sender, RoutedEventArgs e) {
// Do something
}
private void InnerClick(object sender, RoutedEventArgs e) {
// Do something else
e.Handled = true;
}
如何以往,按照通常惯例Caliburn.Micro你有以下XAML:
<Button x:Name="OuterClick">
<Grid>
<SomeOtherContent />
<Button x:Name="InnerClick" />
</Grid>
</Button>
有了这个视图模型:
private void OuterClick() {
// Do something
}
private void InnerClick() {
// Do something else
}
我怎样才能确保不同时InnerClick()
和OuterClick()
上调当我点击InnerButton?
编辑:或者,我可以使用其他类型的控件吗?
嵌套按钮?这是什么样的废话。我怀疑你会得到维持caliburn适应这种情况的人,因为这种情况是有一天将在dailywtf.com张贴... – Dbl
@Sinatr不要跳过“__not__” – grek40
什么我可以在我的''SomeOtherContent>''和内部按钮附近使用其他组件,以便我可以将点击事件附加到最外面的元素上?我需要一个包含元素的列表,并且我需要能够单击一个元素,但是我还必须能够单击元素内部的按钮(不单击元素本身)? – GTHvidsten