2017-09-27 20 views
0

VS Community 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> 

明らかにこれはまだ面白い何もしていない、と私は学ぶためにしようとしているが、これは非常に基本的なハングアップが私にはどんな意味がありません。

*私はXAMLを上記のPythonから分離したいと考えていましたが、このサイトのエディタは奇妙です。

答えて

1

問題を見つけました。プログラムがエラーになりました。 VS Communityでのデバッグにはあまり使用されていませんが、私が最もよく慣れ親しんだVBAほど直感的ではありません。私はそれが本当に正しくないエラーを表示していないエラーリストに行っていたので、それがより多くのフィードバックを与える方法を把握しようとすると、デフォルトの設定のためかもしれないと確信しています。

したがって、私はwin.FindName( 'test')をwin.Testに割り当てることを試みていました。私は他の場所でこのようなことをしていましたが、それ以前にも問題があったので、何を試していいのか分かりませんでしたが、今私はこれをいくつかの方法で行うことができます。

1)Test = win .FindName( 'テスト')(勝利を除く。開始時)
Test.Text = 'こんにちは、世界

あるいは、単純

2)win.Test.Text =「こんにちは、世界'

私は第2のものを以前に試したように感じますが、今は動作していますので、他の何かが壊れていると確信しています。

現在の作業コード

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から来ています。VBAはそれほど多くはありません。 –

関連する問題