泥庭

2015年3月9日

Thicknessの125000倍の長さのLine

Filed under: .NET, C#, WPF — タグ: , — yone64 @ 10:47 PM
WPFの制限(?)なのかはわかりませんが、StrokeThicknessの125000倍を超える水平線は引けません。
<Window x:Class="TooLongLine.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <!-- 水平LineはStrokeThicknessの12500倍以下しか描画できない -->

        <!-- 125000倍ちょうどなので描画可能 -->
        <Line X1="0" X2="125000" Y1="5" Y2="5" StrokeThickness="1" Stroke="Red" />
        <!-- 125000倍を超えるので描画不可能 -->
        <Line X1="0" X2="125000.1" Y1="15" Y2="15" StrokeThickness="1" Stroke="Red" />

        <!-- Thicknessを2にすると、125000倍以下になるので描画可能 -->
        <Line X1="0" X2="125000.1" Y1="25" Y2="25" StrokeThickness="2" Stroke="Blue" />
        <!-- 125000倍ちょうどなので描画可能 -->
        <Line X1="0" X2="250000" Y1="35" Y2="35" StrokeThickness="2" Stroke="Blue" />
        <!-- 125000倍を超えるので描画不可能 -->
        <Line X1="0" X2="250000.1" Y1="45" Y2="45" StrokeThickness="1" Stroke="Blue" />

        <!-- 水平でなければ描画可能 -->
        <Line X1="0" X2="250000.1" Y1="55" Y2="55.001" StrokeThickness="1" Stroke="Green" />
        
        <!-- Polylineで、一つの線分が125000倍以下でも水平になってしまうとダメ -->
        <Polyline Points="0,65 100000,65 200000,65" StrokeThickness="1" Stroke="Orange" />
    </Grid>
</Window>
上記、XAMLを実行すると下記Windowが表示されます。

キャプチャ

どうしてもこの制限に引っかかる場合は、微妙に斜めの線にしてみればよいのかもしれません。
その前に、本当にそんなに長いLineが必要かは要検討ですねw

(参考)Horizontal or vertical WPF Lines limited to 125,000 pixels?
http://stackoverflow.com/questions/13731593/horizontal-or-vertical-wpf-lines-limited-to-125-000-pixels
広告

1件のコメント »

  1. […] Filed under: .NET, C#, WPF — タグ: C#, WPF — yone64 @ 11:15 PM 前回の続きっぽいもの。 […]

    ピンバック by Thicknessの125000倍の長さのGeometryをOnRenderで描画 | 泥庭 — 2015年3月9日 @ 11:16 PM


RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。