2

いくつかの 4x4 行列 (2D double 配列) を計算するアプリケーションに取り組んでいます。

private double[,] matrix1 = new double[4,4];
private double[,] matrix2 = new double[4,4];

係数を計算した後、ビューに行列を表示したいと思います。ボックス括弧 ( http://upload.wikimedia.org/math/e/2/b/e2b3fba5aaeb1ade3407ca02aa870a5e.png ) または括弧 ( http://upload.wikimedia.org/math/5/ )のいずれかを使用したいd/5/5d5847e4483c97c3f4c767ed15ab1c27.png )。
XAML はこのようにマトリックスを表示する要素を提供しますか? そうでない場合、同様の方法で行列を表示することは可能ですか?

4

2 に答える 2

1

PathWPF では、側面を描画するオブジェクト (これらは直線です) とUniformGridコンテンツを表示するオブジェクトを使用して、この外観を簡単に作成できます。

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="300">
    <Window.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="TextAlignment" Value="Center" />
            <Setter Property="VerticalAlignment" Value="Center" />
        </Style>
    </Window.Resources>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
        <Path Grid.Column="0" Data="M 0,0 0,300 15,300 15,295 5,295 5,5 15,5 15,0" 
            Width="15" Height="300" Fill="Black" VerticalAlignment="Stretch" 
            HorizontalAlignment="Center" />
        <UniformGrid Grid.Column="1" Columns="2" Rows="2" TextElement.FontFamily=
            "Palatino Linotype" TextElement.FontSize="28">
            <TextBlock>
                <Run Text="a" />
                <Run Typography.Variants="Subscript" FontStyle="Italic" Text="11" />
            </TextBlock>
            <TextBlock>
                <Run Text="a" />
                <Run Typography.Variants="Subscript" FontStyle="Italic" Text="11" />
            </TextBlock>
            <TextBlock>
                <Run Text="a" />
                <Run Typography.Variants="Subscript" FontStyle="Italic" Text="21" />
            </TextBlock>
            <TextBlock>
                <Run Text="a" />
                <Run Typography.Variants="Subscript" FontStyle="Italic" Text="22" />
            </TextBlock>
        </UniformGrid>
        <Path Grid.Column="2" Data="M 15,0 15,300 0,300 0,295 10,295 10,5 0,5 0,0" 
            Width="15" Height="300" Fill="Black" VerticalAlignment="Stretch" 
            HorizontalAlignment="Center" />
    </Grid>
</Window>

これが正しく機能するためには、次の 2 つの重要な点に注意してください。

TextElement.FontFamily選択したは、 を表示できる必要Subscriptがあります。

Run.Textあなたの例にあるように、値をハードコーディングする代わりに、プロパティにバインドできます。

<Run Text="{Binding Value1}" />
<Run Typography.Variants="Subscript" FontStyle="Italic" Text="{Binding Value2}" />
于 2013-08-05T14:25:01.950 に答える