C# 如何从列表字符创建DataGrid矩阵?
我在C# 如何从列表字符创建DataGrid矩阵?,c#,wpf,visual-studio,xaml,datagrid,C#,Wpf,Visual Studio,Xaml,Datagrid,我在文本框中显示带有字符的列表,但间距不均匀 A B C D E F G H I J K L M N O P Q R S T U V W X Y 如何将其绑定到WPFDataGrid,使其显示为一个统一的5x5矩阵 还是有其他方法使它统一 A B C D E F G H I J K L M N O P Q R S T U V W X Y C# 公共字符A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V、W、X、Y; 公共列表myList=
文本框
中显示带有字符的列表
,但间距不均匀
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
如何将其绑定到WPFDataGrid
,使其显示为一个统一的5x5矩阵
还是有其他方法使它统一
A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
C#
公共字符A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V、W、X、Y;
公共列表myList=新列表()
{
A、 B,C,D,E,
F、 G,H,I,J,
K、 L,M,N,O,
P、 Q,R,S,T,
U、 V,W,X,Y
}
公共可观测集合myCollection=新可观测集合(myList);
XAML
<DataGrid x:Name="dataGrid"
HorizontalAlignment="Left"
Height="299"
Margin="191,399,0,0"
VerticalAlignment="Top"
Width="360"/>
除了可以使用单间距字体外,如
<TextBlock FontFamily="Lucida Console">
<Run>ABCDE</Run>
<LineBreak/>
<Run>FGHIJ</Run>
<LineBreak/>
<Run>KLMNO</Run>
<LineBreak/>
<Run>PQRST</Run>
<LineBreak/>
<Run>UVWXY</Run>
</TextBlock>
或
看看这些帖子:,我更新了我的代码。我使用字符作为列表中的可变占位符,可以更改为不同的内容。我使用了itemsControl.ItemsSource=new List(),它目前正在工作。我必须调整它并告诉你它是如何运行的。@MattMcManis你当然可以将任何东西放入Items控件中。只需确保ItemTemplate可以显示它。
<TextBlock FontFamily="Lucida Console">
<Run>ABCDE</Run>
<LineBreak/>
<Run>FGHIJ</Run>
<LineBreak/>
<Run>KLMNO</Run>
<LineBreak/>
<Run>PQRST</Run>
<LineBreak/>
<Run>UVWXY</Run>
</TextBlock>
<ItemsControl ItemsSource="ABCDEFGHIJKLMNOPQRSTUVWXY">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="5"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" TextAlignment="Center"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
itemsControl.ItemsSource = new List<string>()
{
"A", "B", "C", "D", "E",
"F", "G", "H", "I", "J",
"K", "L", "M", "N", "O",
"P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y"
};
itemsControl.ItemsSource = new List<char>()
{
'A', 'B', 'C', 'D', 'E',
'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T',
'U', 'V', 'W', 'X', 'Y'
};
itemsControl.ItemsSource = "ABCDEFGHIJKLMNOPQRSTUVWXY";