我正在使用 MVVM 学习 WPF。
我有一个包含一些信息的 DataGrid。数据网格的来源是一个可观察的集合。当我双击数据网格中的特定行时,我需要将信息加载到文本框中。我希望将行的特定单元格加载到文本框中。
我遵循的步骤
声明了一个数据网格
窗口.xaml:
<DataGrid x:Name="datagrid1" SelectedItem="{Binding GetRowData}" AutoGenerateColumns="True" CanUserAddRows="False"
Height="90" Width="358" Margin="-210,-200,-90,-187" HorizontalAlignment="Left">
<DataGrid.Style>
<Style TargetType="{x:Type DataGrid}">
<Setter Property="ItemsSource" Value="{Binding modelclasswithcombobox}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding isfront}" Value="True">
<Setter Property="ItemsSource" Value="{Binding ModelClasstabwithdate}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.Style>
</DataGrid>
声明一个文本框
在文本框中,我将选定的数据网格项目绑定为路径。
<TextBox x:Name="txtboxAuditId" IsEnabled="{Binding IsEnabled}"
Width="108" Height="19.277" HorizontalAlignment="Left"
Margin="-20,14,708.962,0" VerticalAlignment="Top" Text="{Binding
ElementName=datagrid1, Path = GetRowData, Mode=TwoWay,
ValidatesOnDataErrors=True,NotifyOnValidationError=True,
UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=True}" />
在 viewmodel 中用 INotifyPropertyChanged 声明了一个属性来获取改变的数据。
private string _gettherow;
public string GetRowData
{
get { return this._gettherow; }
set
{
if (this._gettherow != value)
{
this._gettherow = value;
OnPropertyChanged("GetRowData");
}
}
}
现在的问题是如何在我单击数据网格行时提供命令,以便填充我的文本框。我通常将 Icommand 界面用于按钮单击事件,无论在这里我是否需要应用相同的或其他任何东西。
呼啦一阵风
精慕HU
相关分类