当它们都在DataGridTemplateColumn中时,从Button清除TextBlock
||
我有一个带有DataGridTemplateColumn的DataGrid。
DataGridTemplateColumn包含一个按钮和TextBlock。
我希望按下按钮将清除textBlock的文本。
我怎么做 ?
XAML:
<Grid>
<DataGrid ItemsSource=\"{Binding Persons}\" AutoGenerateColumns=\"False\">
<DataGrid.Columns>
<DataGridTextColumn Header=\"Name\" Binding=\"{Binding Name}\">
</DataGridTextColumn>
<DataGridTemplateColumn Header=\"Mask Expiration Time\">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation=\"Horizontal\" HorizontalAlignment=\"Right\">
<TextBlock Text=\"{Binding Name}\"></TextBlock>
<Button Name=\"btnClear\" Click=\"btnClear_Click\" >Clear</Button>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
CS代码:
public partial class MainWindow : Window
{
public List<Person> Persons { get; set; }
public MainWindow()
{
Persons = new List<Person> { new Person { Name = \"James\" }, new Person { Name = \"Kate\" } };
DataContext = this;
InitializeComponent();
}
private void btnClear_Click(object sender, RoutedEventArgs e) {
var clearbutton = (Button) sender;
// clear the Name
}
}
public class Person
{
public string Name { get; set; }
}
没有找到相关结果
已邀请:
3 个回复
你换
:
了驳
并通过
属性传递当前的Person对象。像这样:
那么您要做的就是设置对象的属性(并更新绑定,因为它看起来不像Person实现
)
冉案
:
然后在XAML中: