- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Silverlight 应用程序(编辑:具有更高信任度的浏览器外应用程序),它必须打开一个 ChildWindow(用于登录目的)。当我(尝试)使用下面的代码从 main(或 main 中调用的任何函数)调用事件时,没有任何反应。
var credentials = new Credentials();
credentials.Closed += new EventHandler(Credentials_Closed);
credentials.Show();
我尝试了一个小型测试应用程序,但它也无法正常工作。但后来我尝试从 Button_Click 事件中调用该事件......令人惊讶的是,它有效!它在被 DispatcherTimer 调用时也有效。
我想如果我在另一个线程中启动它也许会起作用,但它没有解决问题...
非常感谢您的帮助!
菲利普
来源: Why Won't the Silverlight ChildWindow Display?
测试程序:www.philippebellefeuille.com/StackOverflow/8074918/BugChildWindowInMain.rar
最佳答案
刚刚尝试了您的示例,它既是 UI 线程问题又是“其他问题”:)
计时器版本按原样工作正常(因为 ShowDialog 被推迟)。
newthread 版本因线程化而失败。使用我最喜欢的辅助方法 (OnUiThread) 让它工作。同样,它之所以起作用,是因为 ShowDialog 被推迟了:
protected delegate void OnUiThreadDelegate();
protected void OnUiThread(OnUiThreadDelegate onUiThreadDelegate)
{
if (Deployment.Current.Dispatcher.CheckAccess())
{
onUiThreadDelegate();
}
else
{
Deployment.Current.Dispatcher.BeginInvoke(onUiThreadDelegate);
}
}
像这样调用:
private void showdialog()
{
this.OnUiThread(() =>
{
var credentials = new Credentials();
credentials.Closed += new EventHandler(Credentials_Closed);
credentials.Show();
});
}
直接调用很有趣,因为它会失败,即使您使用上面的 showDialog。
App.xaml.cs 这样做:
this.RootVisual = new MainPage();
这意味着在构造函数返回之前,MainPage 不是可视化树的一部分!如果 ChildWindow 的父级不在可视化树中,则不会显示 ChildWindow。
例如
public MainPage()
{
InitializeComponent();
this.Loaded += MainPage_Loaded;
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
showdialog();
}
关于c# - 从 main(Silverlight, C#) 调用时,ChildWindow 不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8074918/
有谁知道如何使用 ChildWindow 解决 SL3 中的内存泄漏? 引用下面的代码片段: private void Button_Click(object sender, RoutedEvent
我不确定我所经历的与这里是否相同:Silverlight ChildWindow Memory Leak 但...: 我在同一个组中有3个单选按钮的Silverlight ChildWindow,并且
我有这个问题:我有一个特定应用程序的主窗口的处理程序,我想在该应用程序上模拟按键... 我正在使用 sendMessage/postMessage api 调用来执行此操作。我不使用 .Net Sen
我想将 pressKey 事件发送到某个应用程序,该应用程序不是 Windows 中的事件应用程序,因此我必须使用 sendMessage/postMessage api 调用。 但是,我需要知道在应
从我发现的一个 Silverlight 论坛页面,我的印象是在后面的代码中创建的 ChildWindow 会选择页面其余部分的主题;只有当您从 ChildWindow 继承时,情况才不再如此。 出于某
ChildWindow 是一个模态窗口,但它不会阻塞。有没有办法让它阻塞?我基本上想要一个 ShowDialog() 方法,该方法将调用 ChildWindow.Show() 但在用户关闭 Child
我在设计 Silverlight ChildWindow 时遇到了一个有趣的问题。我在窗口标题上定义了一个按钮,如下所示:
我有一个简单的 ChildWindow,它只包含两个元素,文本 block 和一个用于模拟等待屏幕的进度条。该 ChildWindow 在调用异步 WCF 方法之前启动并在回调时关闭。 问题是 Chi
有没有办法在silverlight 3中创建一个可调整大小的子窗口?任何指针都受到高度赞赏。 最佳答案 我没有任何实际代码供您使用,但您可能希望子类化 ChildWindow 并在 ChildWind
我想在子窗口关闭时运行一个函数,但它无法检查window.close。 这是我的代码: function openChild(){
我有一个模态对话框,我正在使用 WPF 扩展工具包的 ChildWindow 显示,但我不喜欢窗口的默认外观,因为它不正确支持系统颜色(它有一个强制白色背景)并且在使用时不适应 Windows Cla
这是我的 ChildWindow xaml 代码: 1 2 3 4 5 6 7 8 9
我正在尝试将 ChildWindow Height 属性绑定(bind)到我的 viewmodel 属性,但我认为它只在第一次加载时读取 VM 值,并且在 VM 更改时不会更改大小并通知更改。在调试器
我试图将我的子窗口设置为我的应用程序的大小,以便它占据整个屏幕。我正在使用以下代码: Binding widthBinding = new Binding("Width"); widthBinding
如何让子窗口访问和/或修改其主窗口的属性? 我有一个主窗口,它根据主窗口上按下的按钮打开不同的子窗口。 我希望任何子窗口都能够修改主窗口的某些属性,但我无法找到访问它们的好方法。 最佳答案 定义您的小
我的 ChildWindow 已将 CloseButton 和处理程序分配给 Click 事件。代码(仅举例): 声明关闭按钮: 专用计数器(用于诊断问题): private uint _i; 关闭
是否可以在 Silverlight 中制作像 ChildWindow 这样的 ChildWindow,但对于 WPF?我试图使 Silverlight ChildWindow 适应 WPF,但遇到了转
我是 MVVM 的新手并试图弄清楚如何 关闭子窗口 使用传统的取消按钮 MVVM 轻型工具包 . 在我的 ChildWindow (StoreDetail.xaml) 中,我有: 在我的 ViewM
Win1.js var Appwin = Titanium.UI.createWindow(); function checkPage() { } Appwin.open
我想删除 Silverlight 3 中新弹出控件的灰色标题。 如果可能的话,有什么想法吗? 最佳答案 很简单,只需编辑默认的 ChildWindow 样式即可。 在 Blend 3 中创建一个 Ch
我是一名优秀的程序员,十分优秀!