gpt4 book ai didi

c# - 在 XAML 中显示矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:01 26 4
gpt4 key购买 nike

我正在开发一个计算多个 4x4 矩阵(二维双数组)的应用程序。

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

计算系数后,我想在 View 中显示矩阵。我想使用方括号 ( http://upload.wikimedia.org/math/e/2/b/e2b3fba5aaeb1ade3407ca02aa870a5e.png ) 或大圆括号 ( http://upload.wikimedia.org/math/5/d/5/5d5847e4483c97c3f4c767ed15ab1c27.png )。
XAML 是否提供以这种方式显示矩阵的元素?如果不是,是否可以用类似的方式显示矩阵?

最佳答案

在 WPF 中,您可以使用 Path 对象绘制边(这些边是直的)并使用 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>

要使其正常工作,需要注意两件重要的事情:

您选择的TextElement.FontFamily必须能够显示下标

您可以绑定(bind)到 Run.Text 属性,而不是像我在您的示例中那样对值进行硬编码:

<Run Text="{Binding Value1}" />
<Run Typography.Variants="Subscript" FontStyle="Italic" Text="{Binding Value2}" />

关于c# - 在 XAML 中显示矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18059552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com