IronPython - WPF窗口不显示,但不知道为什么

问题描述:

我在VS社区2017中使用IronPython。我有一个奇怪的问题,我不明白,我敢肯定很简单,但不能找到其他人,让我更加困惑。IronPython - WPF窗口不显示,但不知道为什么

我有这个非常简单的代码来尝试操纵xaml中定义的框中的文本值。

class MyWindow(Window): 
    def __init__(self): 
wpf.LoadComponent(self, 'WpfApplication1.xaml')  

win = MyWindow() 
win.Test = win.FindName('test') 
win.Test.Text = 'Hello, World' 
Application().Run(win) 

XAML

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="WpfApplication1" Height="300" Width="420.408"> 
    <TextBox x:Name="Test" MinWidth="100" Margin="14,79,98,155"/> 
</Window> 

显然,这并不做任何事情有趣的是,和我只是想学习,但是这个很基本的挂断没有任何意义,我。 *我想从上面的python中分离出XAML,但是这个网站上的编辑器超出了奇怪的地步。

我想通了这个问题。计划正在出错。还不习惯在VS社区进行调试,不像VBA那么直观,这是我最习惯的。我相信这可能是由于默认设置,试图找出如何让它提供更多的反馈比它,因为我在错误列表中显示没有错误显然是不正确的。

所以错误是我试图分配win.FindName('测试')win.Test。我在其他地方看过类似的东西,并且在此之前也有问题,所以我不确定要尝试什么,但是现在我知道我可以通过几种不同的方式做到这一点

1)Test = win .FindName( '测试')(不包括胜利。在开始)
Test.Text = '你好,世界'

或者,简单

2)win.Test.Text =“你好,世界'

我觉得我早些时候尝试过第二个,但它现在正在工作,所以我肯定还有其他东西被打破了。

当前工作的代码

import wpf 

from System.Windows import Application, Window 

class MyWindow(Window): 
    def __init__(self): 
    wpf.LoadComponent(self, 'WpfApplication1.xaml')   

win = MyWindow() 
Test = win.FindName('Test') 
Test.Text = 'Hello, World' 
Application().Run(win) 
+0

有小幅回调以上为好,显然win.Test = win.FindName(“测试”)是好的,它只是一切是大小写敏感的,这是另一回事我还不太习惯于来自VBA,而这往往没有那么多。 –