在绑定时已知Int32值sDocBaseResultDocsFieldsIndex
我需要将该值传递给事件处理程序(cc_CopyToClip)
如何传递该值
我并没有真正使用ConverterParameter-只是希望在事件处理程序中找到一种访问它的方法
Binding gvBinding = new Binding();
gvBinding.ConverterParameter = sDocBaseResultDocsFieldsIndex;
FrameworkElementFactory textblock = new FrameworkElementFactory(typeof(TextBlock));
textblock.SetValue(TextBlock.TextProperty, gvBinding);
textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip));
背景:查看硬编码的4
这是我需要通过的值(sDocBaseResultDocsFieldsIndex)
private void cc_CopyToClip(object sender, MouseButtonEventArgs e)
{
if (sender is TextBlock)
{
TextBlock tb = (TextBlock)sender;
GabeLib.sDocBase sdB = (GabeLib.sDocBase)tb.DataContext;
if (sdB != null && sdB.DocFields != null && sdB.DocFields[4] != null)
{
MessageBox.Show(sdB.DocFields[4].DispValue);
}
要在任何FrameworkElement
中保留附加值,可以使用Tag
属性。创建TextBlock
时设置
textblock.SetValue(FrameworkElement.TagProperty, 4)
如果你能读到
(int)tb.Tag