感谢您阅读我的帖子。
我正在尝试插入取消按钮,该按钮基本上为窗口执行X按钮。
以下是How would I make a cancel button work like the "X" button?的代码。我有完全相同的情况
public partial class Dialog : Window
{
.
.
.
private void Window_Closing(object sender, CancelEventArgs e)
{
e.Cancel() = true; //Works as expected
}
private void btnCancel_Click(object sender, RoutedEventArgs e)
{
e.Cancel() = true; //Compile error
}
}
这是xaml:
<Window x:Class="ExperimentSettingsViewer.TemplateName"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Template Name"
Height="120"
Width="300"
WindowStartupLocation="CenterOwner">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/ExperimentSettingsViewer;component/Button.xaml" />
<ResourceDictionary Source="/ExperimentSettingsViewer;component/Window.xaml" />
<ResourceDictionary Source="/ExperimentSettingsViewer;component/Border.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<StackPanel>
<TextBox Name="tbName"
Margin="3"
Text="{Binding Path=NewName}" />
<StackPanel Orientation="Horizontal" HorizontalAlignment="right">
<Button Name="btnOK"
Content="OK"
Width="75"
Height="30"
HorizontalAlignment="Right"
Margin="3"
Click="btnOK_Click" />
<Button Name="btnCancel"
Content="Cancel"
Width="75"
Height="30"
HorizontalAlignment="Right"
Margin="3"
Click="btnCancel_Click" IsCancel="True" />
</StackPanel>
</StackPanel>
</Grid>
</Window>
但是,我遵循该线程中的解决方案,并将buttom的IsCancel设置为true,但仍然没有可用于我的按钮的Cancel()方法。
我想知道我错过了什么吗?或者如何让我的取消按钮像X按钮一样工作。非常感谢。
答案 0 :(得分:4)
Button.IsCancel
属性不会自动关闭您的窗口。它所做的就是让你使用Escape to&#34;按&#34;按钮。您仍然需要在点击事件处理程序中调用Close()
才能关闭窗口。
因此,该事件没有Cancel
属性。如果您不想关闭窗口,请不要拨打Close()
。