2

作成中の WPF アプリで SharpDevelop 4.0 プロジェクトの ICSharpCode.AvalonEdit.TextEditor コントロールを使用しようとしていますが、うまく動作しないようです。

リビジョン 4304 の svn://svnmirror.sharpdevelop.net/sharpdevelop/trunk/SharpDevelop/src/Libraries/AvalonEdit からソース コードのコピーをチェックアウトしました。次に、Visual Studio 2008 SP1 を使用してプロジェクトをビルドしました。エラー。

次に、空の新しい WPF プロジェクトを作成し、ビルド DLL をツールボックスに追加して、TextEditor コントロールをデフォルトの空のウィンドウにドロップしました。

<Window x:Class="AvalonEditTest.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:avalonedit="http://icsharpcode.net/sharpdevelop/avalonedit"        
    Title="Window1" Height="300" Width="300" >
    <Grid x:Name="LayoutRoot">
        <avalonedit:TextEditor Name="textEditor" />
    </Grid>
</Window>

ただし、プロジェクトを実行すると、フォームが完全に空白になります。キャレットなし、マウス カーソルはデフォルト ポインターのままで、ウィンドウはキーを押しても反応しません。

何か足りないのですか、それとも AvalonEdit が少し壊れているだけですか?

[編集: 私はそれが私の特定のセットアップに関連している可能性があると考え始めています. 64 ビットの Windows 7 RC を実行しています。それと何か関係があるのではないでしょうか?x86専用でビルドしてみましたが、違いはありませんでした.]

4

3 に答える 3

2

名前空間の宣言は正しいですか?

次のようなことを試すことができます:

<Window x:Class="Editor.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300" 
    xmlns:e="clr-namespace:ICSharpCode.AvalonEdit;assembly=ICSharpCode.AvalonEdit">
    <Grid>
        <e:TextEditor x:Name="Editor" WordWrap="True" Height="200">          
        </e:TextEditor>
    </Grid>
</Window>

何の問題もなく動作させることができました。

于 2009-07-12T14:06:32.637 に答える
0

AvalonEdit TextEditor は、TextDocument モデルの単なるビューです。問題は、新しい AvalonEdit インスタンスがどのモデル インスタンスにも接続されず、編集するものが何もないことでした。

statictype のコードが機能した理由は、彼が を使用しなかったからです<avalonedit:TextEditor/>が、<avalonedit:TextEditor></avalonedit:TextEditor>. これにより、空の文字列が Text プロパティに割り当てられ、エディターが暗黙的に新しいドキュメントを作成しました。

しかし、これは最近の AvalonEdit バージョンには関連しなくなりました。エディターは常に新しい TextDocument を作成するようになりました。

于 2009-07-20T23:52:49.807 に答える
0

これは、最新のビルドで機能します

<DockPanel LastChildFill="True">
    <avalonedit:TextEditor 
        HorizontalAlignment="Stretch"
        Name="textEditor1" 
        VerticalAlignment="Stretch" />
</DockPanel>
于 2009-07-30T17:08:10.420 に答える