c# - WPF 从 datagridtemplatecolumn 获取 TextBox 值
问题描述
大家好,我正在尝试从 DataGridTemplateColum 获取 TextBox Named "txtQty" 值
这是代码,希望有人帮助我....
.XML
<DataGrid x:Name="dataGridMain">
<DataGrid.Columns>
<DataGridTextColumn Header="Id" Binding="{Binding Id}" IsReadOnly="True" Visibility="Hidden"/>
<DataGridTextColumn Header="Name" Binding="{Binding PName}" IsReadOnly="True"/>
<DataGridTemplateColumn Header="Qty" >
<DataGridTemplateColumn.CellTemplate >
<DataTemplate >
<StackPanel Orientation="Horizontal">
<TextBox x:Name="txtQty"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我尝试使用此代码
DataRowView dt = dataGridMain.SelectedItem as DataRowView;
String value = dt["Qty"].ToString());
解决方案
经过一番努力,我发现这个解决方案很有帮助......
int i=5; //Set this equal to desired column index....
ContentPresenter myCp = dataGridMain.Columns[i].GetCellContent(dataGridMain.SelectedItem) as ContentPresenter;
var myTemplate = myCp.ContentTemplate;
TextBox mytxtbox = myTemplate.FindName("txtQty", myCp) as TextBox;
MessageBox.Show(mytxtbox.Text);
推荐阅读
- python - 擦除 matplotlib 3D 条形图的地板
- c++ - Tensorflow 2.5 C++ 禁用急切执行
- kubernetes-helm - 如何使用带有默认空/空值的 toyaml?
- haskell - Haskell 忽略未解决的导入
- reactjs - 创建反应应用程序时选项参数无效
- node.js - Cloud Function - 检查令牌是否已过期
- visual-studio-2019 - 将 Visual Studio 2019 主题转移到 Visual Studio 2022
- python - 如何在 Python 中逐块处理大型 PNG 图像中的 IDATA
- javascript - 从 Kafka 消息中解析结果并将其发送到 Web 套接字
- javascript - 使用 Graphql 的剧作家