ViewModel 中的 WPF MVVM 我想访问 XAML 中的文本框绑定到的相同数据
MainWindow.xaml 上的 XAML 有一个绑定到 StoredProcs/ProcName 的文本框
<TextBox Name="txtProcName" Text="{Binding Path=StoredProcs/ProcName}"></TextBox>
和一个绑定到 StoredProcs 的 Grid 每当网格选择发生变化时,文本框中的绑定文本就会发生变化。
<DataGrid AutoGenerateColumns="False"
Height="300" Width="290"
HorizontalAlignment="Center"
Name="dataGrid1"
VerticalAlignment="Top"
ItemsSource="{Binding StoredProcs}"
IsSynchronizedWithCurrentItem="True"
Margin="-6,0" Grid.RowSpan="2" Grid.Row="0">
<DataGrid.Columns>
<DataGridTextColumn Header="Proc Name" Binding="{Binding ProcName}" >
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
我有一个按钮,单击时在 MainWindowViewModel 中执行一个过程,该按钮有效
<Button Content="Create RDL" Command="{Binding CreateStoredProcedure}" />
在 CreateStoredProcedure 代码中,我需要访问显示在文本框中的相同数据(不使用后面的代码)。我认为我需要获取 StoredProcs/ProcName 但无法弄清楚如何做到这一点。
我尝试将 CommandParameter 添加到 XAML,但不知道如何在 CreateStoredProcedure 指令中访问它,因为它不允许我添加参数
void CreateStoredProcedureExecute()
{
string procName = "proc";
//procName = { StoredProcs/ProcName };
MessageBoxResult result =
MessageBox.Show(String.Format("Create Stored Procedure {0}", procName));
}
bool CanCreateStoredProcedure()
{
return true;
}
public ICommand CreateStoredProcedure
{
get
{
return new RelayCommand(CreateStoredProcedureExecute,
CanCreateStoredProcedure);
}
}