我的项目遗失了System.Windows.Interactivity.谷歌说我必须安装Expression Blend,但是在我的另一台电脑上我有这个库,我没有安装Expression Blend.那么应该有另一种方式获得System.Windows.Interactivity?我该怎么办?(现在我没有另一台电脑所以我不能只复制这个库:)
我在调用窗口中使用ShowDialog()显示一个WPF窗口.窗口打开,按预期模态.但是,在我的确定和取消按钮的对话窗口中的单击事件中,我分别设置了this.DialogResult = true(或false),并且未设置该值.窗口按预期关闭,但DialogResult仍为null.
这是WPF中的错误吗?或者是否有原因无法设置DialogResult属性但不会抛出异常?该窗口未托管在浏览器中.
调用窗口中的代码:
Window2 win = new Window2();
bool? result = win.ShowDialog();
if (result.HasValue && result.Value) {
//never gets here because result is always null
}
Run Code Online (Sandbox Code Playgroud)
对话框窗口中的代码:
this.DialogResult = true;
Run Code Online (Sandbox Code Playgroud) 我想知道如何禁用(不删除/隐藏)WPF窗口中的关闭按钮.我知道如何隐藏它使窗口的标题栏看起来像这样:

但我想禁用它意味着它应该是这样的:

我在C#中编写脚本并使用WPF(Windows Presentation Foundation).
我刚从WinForms切换到wpf,在WinForms中删除整个标题框非常简单,只需设置title =""和ControlBox = false.
现在有很多关于如何使用wpf执行此操作的建议,所有这些都使用本机Win32调用.虽然它们确实移除了控制盒,但它们仍然在顶部留下较厚的边框.
我确定使用某种原生呼叫是可行的,但是怎么样?
是否可以禁用WPF表单中的关闭按钮?如何禁用关闭按钮?
我一直在寻找并找到下面的解决方案.但这只适用于Windows窗体!
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}
Run Code Online (Sandbox Code Playgroud) 我试图隐藏/删除我的MahApps MetroWindow上的关闭按钮但没有成功.
我试过这段代码:
private const int GWL_STYLE = -16;
private const int WS_SYSMENU = 0x80000;
[DllImport("user32.dll", SetLastError = true)]
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("user32.dll")]
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
}
Run Code Online (Sandbox Code Playgroud)
我还设置了一些属性:
...ShowTitleBar="False" WindowStyle="None" ResizeMode="NoResize"
Loaded="Window_Loaded" ...
Run Code Online (Sandbox Code Playgroud)
所以Window_Loaded是正确触发的,但这个问题的代码似乎不起作用.
这是实际结果:
为什么按钮不会消失?我做错了什么?
我创建了一个WPF窗口并将其Window Style属性设置为'None'.然而,当我按Alt+ Up Key组合时,窗口左上角会出现一个上下文菜单.
有没有办法禁用它..
注意:处理PreviewKeyDown事件可以完成工作,但我正在寻找不同的方法.
<Window
x:Class="WpfApplication14.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowStyle="None"
Title="MainWindow" Height="350" Width="525">
<Grid/>
</Window>
Run Code Online (Sandbox Code Playgroud) c# ×7
wpf ×7
.net ×2
.net-3.5 ×1
.net-4.0 ×1
dialogresult ×1
modal-dialog ×1
windows ×1
xaml ×1