我已经设置了一个简单的示例菜单.
<Menu>
<MenuItem Header="Top Menu">
<MenuItem Header="Item 1">
<MenuItem Header="Sub Menu 2" />
</MenuItem>
</MenuItem>
</Menu>
Run Code Online (Sandbox Code Playgroud)
子菜单2在左侧打开,而不是在菜单的预期右侧打开.如果菜单靠近屏幕边缘,我会期望这种行为,但是窗口在屏幕上居中而不是靠近任何边缘.
是否有一个属性可以控制MenuItem
屏幕上的打开位置?
我有一个在我的WPF程序中使用的通用实用程序DLL文件.我的程序做的第一件事是检查更新的dll文件并将其复制到执行目录 - 所有这些都没有引用来自dll的任何方法或属性.
当我从Visual Studio(v10)内部编译并运行程序时,一切都按预期工作.程序启动,检查dll文件,如果需要则复制,然后继续使用程序集.
如果我从Windows资源管理器运行已编译的.exe文件,它首先要做的是加载Util.dll程序集.这会锁定文件,不允许我更新它.
有没有人对Visual Studio与.exe文件中程序的选择有何不同?有关跟踪运行.exe文件时导致程序集加载的原因的任何想法?
这是程序启动的代码片段:
void AppLoad(object sender, StartupEventArgs e)
{
//Used to see what assemblies are loaded.
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach (var item in AppDomain.CurrentDomain.GetAssemblies())
{
sb.AppendLine(item.FullName.ToString());
}
System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "test.txt", sb.ToString());
//Check for the latest Util dll.
if (!UpdateUtil())
{
//Shutdown.
Application.Current.Shutdown();
return;
}
//Start the main window.
MainWindow m = new MainWindow();
m.Show();
}
bool UpdateUtil()
{
//Verify network path.
if (!Directory.Exists(_componentPath))
{
MessageBox.Show("The program encountered an error.\r\rPlease contact your Program …
Run Code Online (Sandbox Code Playgroud)