C# 文本框中的WPF数据网格
我在XAML和C#中有一个WPF DataGrid,我想选择一行并在文本框中显示该行,它不是DataGridViewC# 文本框中的WPF数据网格,c#,wpf,wpfdatagrid,C#,Wpf,Wpfdatagrid,我在XAML和C#中有一个WPF DataGrid,我想选择一行并在文本框中显示该行,它不是DataGridView x:Name="dtGConsultas" ItemsSource= "{Binding }" HorizontalAlignment="Left" Margin="12,3,0,0" Grid.Row="6" VerticalAlignment="Top" Grid.ColumnSpan="5" Height="111" Width="598" Grid.RowSpan="
x:Name="dtGConsultas" ItemsSource= "{Binding }"
HorizontalAlignment="Left" Margin="12,3,0,0" Grid.Row="6" VerticalAlignment="Top"
Grid.ColumnSpan="5" Height="111" Width="598" Grid.RowSpan="3"
SelectionChanged="dtGConsultas_SelectionChanged"/>
这可以通过几种方式实现:
SelectedItem
绑定到某个属性,然后显示它TextBox
值绑定到DataGrid
的SelectedItem
SelectionChanged
方法时设置TextBox
值示例:
公共类MyUserControl
{
公共MyUserControl()
{
this.InitializeComponent();
this.DataContext=this;
}
public List mysrlist=new List();
}
代码隐藏(C#文件):
公共类MyUserControl
{
公共MyUserControl()
{
this.InitializeComponent();
this.DataContext=this;
}
public List mysrlist=new List();
私有无效dtGConsultas_SelectionChanged(/*args*/)
{
MyTbx.Text=dtGConsultas.SelectedItem.ToString();
}
}
您还可以添加包含复选框的列并绑定它。然后只需检查(您的_List.element.CheckBox==true)。您可以通过选中的元素获得一个列表如何将所选项目绑定到文本框?我想选择一行,该行显示datagrid,并且显示该行的数据显示在文本框中,而不是MVC,它是wpf with C#@AlexisRS->with wpf有一个称为MVVM
的通用模式。视图(XAML文件)仅用于格式化“GUI”,所有逻辑、属性定义和方法都隐藏在ViewModel
(C#file)中。在这种方法中,您应该尽量减少使用代码隐藏
(直接方法调用)。@AlexisRS-哪种方法?什么是错误消息?我正在使用一个项目WPF不是ASP.NET,也没有Windows窗体,没有MVVM模型,并且在WPF DATAGRIDVIEW中不存在。消息是:DATAGRIDVIEW与Windows演示基金会(WPF)Project不兼容,认为这个答案不是OP所要求的。
using using System.Collections.ObjectModel;
public class MyViewModel
{
//add implementation of INotifyPropertyChange & propfull
public ObservableCollection<MyItem> MySrcList { get; set; }
//add implementation of INotifyPropertyChange & propfull
public MyItem SelectedItem { get; set; }
}
<UserControl ...
xmlns:local="clr-namespace:MyProject">
<UserControl.DataContext>
<local:MyProject />
</UserControl.DataContext>
...
<DataGrid
ItemsSource="{Binding MySrcList}"
SelectedItem="{Binding SelectedItem}"/>
<Grid>
<DataGrid
x:Name="dtGConsultas"
ItemsSource="{Binding MySrcList}"/>
<TextBox Text="{Binding dtGConsultas.SelectedItem, Mode=OneWay}"/>
</Grid>
public class MyUserControl
{
public MyUserControl()
{
this.InitializeComponent();
this.DataContext = this;
}
public List<MyItem> MySrcList = new List<MyItem>();
}
<Grid>
<DataGrid
x:Name="dtGConsultas"
ItemsSource="{Binding MySrcList}"
SelectionChanged="dtGConsultas_SelectionChanged"/>
<TextBox x:Name="MyTbx"/>
</Grid>
public class MyUserControl
{
public MyUserControl()
{
this.InitializeComponent();
this.DataContext = this;
}
public List<MyItem> MySrcList = new List<MyItem>();
private void dtGConsultas_SelectionChanged( /* args */)
{
MyTbx.Text = dtGConsultas.SelectedItem.ToString();
}
}