2

FlowDirectionアプリケーションが生成するすべてのウィンドウのを に設定しようとしていますRightToLeft。私は次のことを試しました

Window.FlowDirectionProperty.OverrideMetadata(
                typeof(Window),
                new FrameworkPropertyMetadata(CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft
                                              ? FlowDirection.RightToLeft : FlowDirection.LeftToRight));

Window クラスを初期化する前にこれを行っています。

しかし、これでTypeInitializerException、Window クラスを初期化するたびに取得します。

System.TypeInitializationException: 'System.Windows.Window' の型初期化子が例外をスローしました。---> System.ArgumentException: PropertyMetadata は、型 'Window' に対して既に登録されています。

私が間違っていること、またはコードを変更してこれを機能させる方法についてのアイデアはありますか?

4

1 に答える 1

0

static FlowDirectionアプリにプロパティを設定してみてください

static property Windows::UI::Xaml::FlowDirection FlowDirection{ 
Windows::UI::Xaml::FlowDirection get() ; };

次に、アプリケーション ページのコンストラクターで次の行を呼び出します。

this->FlowDirection = App::FlowDirection;
于 2014-06-26T12:58:11.703 に答える