0

非常に奇妙な問題があります。最近、新しいコンピューターを手に入れました。私の新しいコンピューターでアプリケーションを実行すると、次のような行を持つすべての DataGrid で:

<DataGridTextColumn Header="Modell" Width="*" Binding="{Binding Model}" MaxWidth="200" />

すべての列が幅 20 になります (幅が指定されているものも含む)。これは、VS から実行するか、exe をダブルクリックするだけかです。まったく同じexe(私が自分でコンパイルしたもの)をコピーして他のマシンで実行すると、完全に機能します。

ただし、幅を次のように変更すると:

<DataGridTextColumn Header="Modell" Width="auto" Binding="{Binding Model}" MaxWidth="200" />

すべての列がきれいに見えます。

何が原因でしょうか?

4

1 に答える 1

0

マシンが異なればハードウェアも異なるため、ハードウェア アクセラレーションが原因で問題が発生する可能性があります。これを App.xaml.cs ファイルに追加して、ハードウェア レンダリングからソフトウェア レンダリングに切り替えてみてください。

protected override void OnStartup(StartupEventArgs e)
    {

        RenderOptions.ProcessRenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;
}
于 2012-10-03T15:42:09.680 に答える