【发布时间】:2016-12-22 09:12:11
【问题描述】:
在我的 wpf 项目中,我有一个由数据集填充的数据网格,其中包含一些列和许多行。我想遍历 Column[1] Rows[i] (例如获取数据网格中所有行的 column[1] 单元格内的值)。 我的问题是如何将这些单元格值绑定到单个文本框?我知道使用多重绑定是实现解决方案的方法之一,但我没有找到任何帮助关于通过数据网格对文本框进行多重绑定。例如,我已经阅读了以下问题:
How to bind multiple values to a single WPF TextBlock?
How to use a MultiBinding on DataGridTextColumn?
此外,绑定单个值是可以实现的,我已经做到了。 我将不胜感激任何帮助。提前致谢!!
我的 XAML:
<DataGrid x:Name="datagridbatch"
FontSize="13.333" FontWeight="Normal"
IsReadOnly="True"
SelectionChanged="datagridbatch_SelectionChanged"
SelectionUnit="FullRow" SelectionMode="Single"
VerticalAlignment="Top" HorizontalAlignment="Right"
Height="615" Width="373" Margin="0,0,0,-582"
CanUserResizeColumns="False" CanUserResizeRows="False"
CanUserDeleteRows="False" CanUserAddRows="False"
RowHeight="30"
Grid.Row="5" Grid.Column="1"
CanUserReorderColumns="False" CanUserSortColumns="False"
ColumnHeaderHeight="25" ColumnWidth="*"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto" />
<TextBox x:Name="input2"
Margin="0,0,0,0" Width="490" Height="30"
Grid.Row="0" Grid.Column="1"
HorizontalAlignment="Left"
Background="{DynamicResource {x:Static SystemColors.ControlLightLightBrushKey}}"
FontSize="13.333" FontWeight="Normal"
Text="{Binding SelectedItem.UNIQUEPART_ID, ElementName=datagridbatch}"
BorderBrush="{DynamicResource {x:Static SystemColors.ControlLightLightBrushKey}}"
FontFamily="Tahoma"
IsReadOnlyCaretVisible="True"
HorizontalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"/>
【问题讨论】:
-
您可以在将文本分配给TextBox时使用转换器,在转换器中您可以根据网格的选定项返回值。你可以试试这个方法吗?如果已经尝试请忽略。
-
请指定“多个单元格值”。您想从所有行、选定行还是其他可能值的子集创建文本?
-
@grek40 抱歉,我编辑了这个问题。我实际上需要来自选定行和指定列的单元格的值(可能是 1 到 10000),但我需要所有这些值。我,然后将它们用作查询的输入参数。
标签: c# wpf xaml datagridcell